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.

Modules

[Last Documentation]

  • Data
    • Data.Pattern
      • Data.Pattern.Base
        • Data.Pattern.Base.Tuple
        • Data.Pattern.Base.TypeList
      • Data.Pattern.Common

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.2.3) [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 ReinerPope at 2012-03-08T23:50:00Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 8321 total (39 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-25 [all 7 reports]