first-class-patterns: First class patterns and pattern matching, using type families

[ bsd3, data, library, pattern ] [ Propose Tags ]

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.

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 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.5
Dependencies base (>=4.5 && <5), transformers (>=0.1.0 && <0.5) [details]
License BSD-3-Clause
Author Reiner Pope, Brent Yorgey
Maintainer Brent Yorgey <byorgey@cis.upenn.edu>
Category Data
Home page https://github.com/reinerp/first-class-patterns
Bug tracker https://github.com/reinerp/first-class-patterns/issues
Source repo head: git clone git://github.com/reinerp/first-class-patterns.git
Uploaded by BrentYorgey at 2014-05-12T20:21:25Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 8323 total (30 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 1 reports]