Portability  nonportable 

Stability  experimental 
Maintainer  sjoerd@w3future.com 
Safe Haskell  SafeInfered 
A free functor is left adjoint to a forgetful functor. In this package the forgetful functor forgets class constraints.
 newtype Free c a = Free {
 runFree :: forall b. c b => (a > b) > b
 leftAdjunct :: (Free c a > b) > a > b
 rightAdjunct :: c b => (a > b) > Free c a > b
 rightAdjunct' :: ForallF c f => (a > f b) > Free c a > f b
 rightAdjunct'' :: ForallT c t => (a > t f b) > Free c a > t f b
 newtype LiftAFree c f a = LiftAFree {
 getLiftAFree :: f (Free c a)
 convert :: (c (f a), Applicative f) => Free c a > f a
Documentation
The free functor for constraint c
.
leftAdjunct :: (Free c a > b) > a > bSource
rightAdjunct :: c b => (a > b) > Free c a > bSource
rightAdjunct' :: ForallF c f => (a > f b) > Free c a > f bSource
rightAdjunct'' :: ForallT c t => (a > t f b) > Free c a > t f bSource
newtype LiftAFree c f a Source
LiftAFree  

convert :: (c (f a), Applicative f) => Free c a > f aSource