category-extras-0.53.6: Various modules and constructs inspired by category theoryContentsIndex
MaintainerEdward Kmett <>
See 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:
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
inFree :: f (m a) -> m a
show/hide Instances
Functor f => MonadFree f (Free f)
MonadFree f m => MonadFree f (CoYoneda m)
MonadFree f m => MonadFree f (Yoneda m)
MonadFree f m => MonadFree f (Codensity m)
class MonadFree f m => RunMonadFree f m | m -> f where
cataFree :: (c -> a) -> Algebra f a -> m c -> a
show/hide Instances
Produced by Haddock version 2.1.0