The constrained-normal package
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. http://dx.doi.org/10.1145/2500365.2500602
The functionality exposed by this library is also used internally by the Set-Monad and RMonad packages.
|Versions||1.0.0, 1.0.1, 1.0.2|
|Dependencies||base (>=4.5 && <5) [details]|
|Copyright||(c) 2013 The University of Kansas|
|Maintainer||Neil Sculthorpe <firstname.lastname@example.org>|
|Uploaded||Mon Jun 9 14:46:00 UTC 2014 by NeilSculthorpe|
|Updated||Wed Feb 28 09:28:44 UTC 2018 by NeilSculthorpe to revision 1 [What is this?]|
|Downloads||1330 total (48 in the last 30 days)|
|Rating||(no votes yet) [estimated by rule of succession]|
|Status||Docs available [build log]
Successful builds reported [all 1 reports]
Hackage Matrix CI
- constrained-normal-1.0.2.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
For package maintainers and hackage trustees