first-class-patterns: First class patterns and pattern matching, using type families
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
This package implements a library of first class patterns. The initial basis for this library was Morten Rhiger's "Type-safe pattern combinators"; the patterns can be used in an almost identical way to those of Morten Rhiger. In a series of blog posts at http://reinerp.wordpress.com/category/pattern-combinators/ the types of patterns were made more revealing using type families, and a simpler implementation was used which avoids some book-keeping.
The library reimplements most of Haskell's built-in pattern matching facilities, plus some more. The pattern matches of this library are lightweight: when GHC's optimisation is turned on, all overhead should be optimised away, leaving a standard Haskell pattern match.
If you're just reading the documentation for this library for the first time, start with Data.Pattern.
[Skip to Readme]
Properties
Versions | 0.1.0, 0.2.0, 0.3.0, 0.3.1, 0.3.2, 0.3.2.1, 0.3.2.2, 0.3.2.3, 0.3.2.4, 0.3.2.4, 0.3.2.5 |
---|---|
Change log | CHANGES.md |
Dependencies | base (>=4.5 && <5), transformers (>=0.1.0 && <0.6) [details] |
License | BSD-3-Clause |
Author | Reiner Pope, Brent Yorgey |
Maintainer | Kowainik <xrom.xkov@gmail.com> |
Category | Data, Pattern |
Home page | https://github.com/kowainik/first-class-patterns |
Bug tracker | https://github.com/kowainik/first-class-patterns/issues |
Source repo | head: git clone git://github.com/kowainik/first-class-patterns.git |
Uploaded | by shersh at 2018-06-10T12:54:52Z |
Modules
[Index]
Downloads
- first-class-patterns-0.3.2.4.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees