Portability | GHC |
---|---|
Stability | experimental |
Maintainer | emw4@rice.edu |
Safe Haskell | None |
This module defines the type-class Liftable for lifting non-binding-related data out of name-bindings. Note that this code is not trusted, i.e., it is not part of the name-binding abstraction: instead, it is all written using the primitives exported by the Mb
Documentation
The class Liftable a
gives a "lifting function" for a, which can
take any data of type a
out of a multi-binding of type
.
Mb
ctx a
The class Liftable1 f
gives a lifting function for each type f a
when a
itself is Liftable
.
The class Liftable2 f
gives a lifting function for each type f a b
when a
and b
are Liftable
.