The constrained-normal package

[Tags: bsd3, library]

The package provides normal forms for monads and related structures, similarly to the Operational package. The difference is that we parameterise the normal forms on a constraint, and apply that constraint to all existential types within the normal form. This allows monad (and other) instances to be generated for underlying types that require constraints on their return-like and bind-like operations, e.g. Set.

This is documented in the following paper:

The Constrained-Monad Problem. Neil Sculthorpe and Jan Bracker and George Giorgidze and Andy Gill. International Conference on Functional Programming, pages 287-298. ACM, 2013.

The functionality exposed by this library is also used internally by the Set-Monad and RMonad packages.


Versions1.0.0, 1.0.1, 1.0.2
Change logNone available
Dependenciesbase (>=4.5 && <5) [details]
Copyright(c) 2013 The University of Kansas
AuthorNeil Sculthorpe
MaintainerNeil Sculthorpe <>
Home page
UploadedMon Jun 9 14:46:00 UTC 2014 by NeilSculthorpe
Downloads655 total (11 in last 30 days)
0 []
StatusDocs available [build log]
Successful builds reported [all 1 reports]




Maintainers' corner

For package maintainers and hackage trustees