Compile time checks that a computation considers producing data through all possible constructors http://github.com/ocharles/exhaustive

Version on this page:1.1.2
LTS Haskell 11.22:1.1.6
Stackage Nightly 2018-03-12:1.1.5
Latest on Hackage:1.1.8

See all snapshots exhaustive appears in

BSD-3-Clause licensed by Oliver Charles
Maintained by [email protected]

Module documentation for 1.1.2

This version can be pinned in stack with:[email protected]:a9af7d435d100148d60615178b882581cd9355f62e2e20284551546a36eb88eb,1186

For a brief tutorial to exhaustive, check out the documentation for Control.Exhaustive, which contains a small example.



  • Compile with generics-sop 0.2. Thanks to @kosmikus for this change.


  • Increased the upper-bound of base to allow < 4.9 and transforms < 0.5. Now builds on GHC 7.10.1.


  • New API new using Template Haskell to provide named constructors. Users should check the latest documentation for ‘Control.Exhaustive’ to see how the new API is used.


  • Initial release