License | BSD-style (see the file LICENSE) |
---|---|
Maintainer | sjoerd@w3future.com |
Stability | experimental |
Portability | non-portable |
Safe Haskell | Safe |
Language | Haskell2010 |
A free functor is left adjoint to a forgetful functor. In this package the forgetful functor forgets class constraints.
Compared to Data.Functor.HFree
we have 2 two parameters.
- type (:~~>) f g = forall a b. f a b -> g a b
- newtype HHFree c f a b = HHFree {}
- unit :: f :~~> HHFree c f
- rightAdjunct :: c g => (f :~~> g) -> HHFree c f :~~> g
- counit :: c f => HHFree c f :~~> f
- leftAdjunct :: (HHFree c f :~~> g) -> f :~~> g
- transform :: (forall r. c r => (g :~~> r) -> f :~~> r) -> HHFree c f :~~> HHFree c g
- hfmap :: (f :~~> g) -> HHFree c f :~~> HHFree c g
- bind :: (f :~~> HHFree c g) -> HHFree c f :~~> HHFree c g
Documentation
newtype HHFree c f a b Source #
The higher order free functor over two type parameters for constraint c
.