Name: constrained-normal
Version: 1.0.1
Synopsis: Normalised Deep Embeddings for Constrained Type-Class Instances
Description: 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.
Category: Control
License: BSD3
License-file: LICENSE
Author: Neil Sculthorpe
Maintainer: Neil Sculthorpe <neil@ittc.ku.edu>
Copyright: (c) 2013 The University of Kansas
Homepage: http://dx.doi.org/10.1145/2500365.2500602
Stability: alpha
build-type: Simple
Cabal-Version: >= 1.6
Library
Build-Depends: base >= 4.5 && < 5
Ghc-Options: -Wall
Exposed-modules:
Control.Monad.ConstrainedNormal