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. 2013. http://www.ittc.ku.edu/~neil/papers_and_talks/constrained-monad-problem.pdf
The functionality exposed by this library is also used internally by the Set-Monad and RMonad packages.
- No changelog available
|Dependencies||base (>=4.5 && <5)|
|Copyright||(c) 2013 The University of Kansas|
|Maintainer||Neil Sculthorpe <email@example.com>|
|Upload date||Fri Mar 29 04:47:19 UTC 2013|
- constrained-normal-1.0.0.tar.gz [browse] (Cabal source package)
- Package description (included in the package)
For package maintainers and hackage trustees