Copyright | (c) 2011 Edwin Westbrook Nicolas Frisby and Paul Brauner |
---|---|
License | BSD3 |
Maintainer | emw4@rice.edu |
Stability | experimental |
Portability | GHC |
Safe Haskell | None |
Language | Haskell98 |
This library implements multi-bindings as described in the paper E. Westbrook, N. Frisby, P. Brauner, "Hobbits for Haskell: A Library for Higher-Order Encodings in Functional Programming Languages".
- module Data.Binding.Hobbits.Mb
- module Data.Binding.Hobbits.Closed
- module Data.Binding.Hobbits.QQ
- module Data.Binding.Hobbits.Liftable
- module Data.Proxy
- module Data.Type.Equality
- module Data.Type.RList
- module Data.Binding.Hobbits.NuMatching
Values under multi-bindings
module Data.Binding.Hobbits.Mb
The Mb
type modeling multi-bindings is the
central abstract type of the library
Closed terms
module Data.Binding.Hobbits.Closed
Pattern-matching multi-bindings and closed terms
module Data.Binding.Hobbits.QQ
The nuP
quasiquoter allows safe pattern
matching on Mb
values. superCombP
is similar.
Lifting values out of multi-bindings
Ancilliary modules
module Data.Proxy
module Data.Type.Equality
module Data.Type.RList
Type lists track the types of bound variables.
The Data.Binding.Hobbits.NuMatching module exposes the | NuMatching class, which allows pattern-matching on (G)ADTs in | the bodies of multi-bindings