constrained-normal: Normalised Deep Embeddings for Constrained Type-Class Instances

[ bsd3, control, library ] [ Propose Tags ]

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.

Downloads

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'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 1.0.0, 1.0.1, 1.0.2
Dependencies base (>=4.5 && <5) [details]
License BSD-3-Clause
Copyright (c) 2013 The University of Kansas
Author Neil Sculthorpe
Maintainer Neil Sculthorpe <neil.sculthorpe@ntu.ac.uk>
Revised Revision 1 made by NeilSculthorpe at 2018-02-28T09:28:44Z
Category Control
Home page http://dx.doi.org/10.1145/2500365.2500602
Uploaded by NeilSculthorpe at 2014-06-09T14:46:00Z
Distributions NixOS:1.0.2
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 3173 total (10 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 1 reports]