| |||||||||||
| |||||||||||
| Description | |||||||||||
| See http://wwwtcs.inf.tu-dresden.de/%7Evoigt/mpc08.pdf for the background on rep, abs and improve and their use. NB: the C type in that paper is just the right Kan extension of a monad along itself, also known as the monad generated by a functor: http://www.tac.mta.ca/tac/volumes/10/19/10-19.ps | |||||||||||
| Documentation | |||||||||||
| module Control.Monad.Parameterized | |||||||||||
| type PFree = PAp Either | |||||||||||
| type Free f = Fix (PFree f) | |||||||||||
| runFree :: Free f a -> Either a (f (Free f a)) | |||||||||||
| free :: Either a (f (Free f a)) -> Free f a | |||||||||||
| class (Functor f, Monad m) => MonadFree f m | m -> f where | |||||||||||
| |||||||||||
| class MonadFree f m => RunMonadFree f m | m -> f where | |||||||||||
| |||||||||||
| Produced by Haddock version 2.1.0 |