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.
- No changelog available
|Versions||1.0.0, 1.0.1, 1.0.2|
|Dependencies||base (>=4.5 && <5)|
|Copyright||(c) 2013 The University of Kansas|
|Maintainer||Neil Sculthorpe <email@example.com>|
|Upload date||Mon Jun 9 14:46:00 UTC 2014|
|Downloads||240 total (22 in last 30 days)|
- constrained-normal-1.0.2.tar.gz [browse] (Cabal source package)
- Package description (included in the package)
For package maintainers and hackage trustees