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

[ bsd3, data, library ] [ Propose Tags ]
Versions 0.1.0, 0.2.0, 0.3.0, 0.3.1, 0.3.2,,,
Dependencies base (>=3 && <5), transformers (>=0.1.0 && <0.1.5) [details]
License BSD-3-Clause
Author Reiner Pope
Maintainer Reiner Pope <>
Category Data
Uploaded by ReinerPope at Thu Nov 5 20:17:39 UTC 2009
Distributions NixOS:
Downloads 2652 total (25 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

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 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.




Maintainer's Corner

For package maintainers and hackage trustees