Portability | non-portable (rank-2 polymorphism) |
---|---|
Stability | experimental |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Control.Morphism.Para
Description
- type Para f = (,) (FixF f)
- type ParaT w f = CoreaderT w (FixF f)
- distParaT :: (Functor f, Comonad w) => Dist f w -> Dist f (ParaT w f)
- para :: Functor f => GAlgebra f (Para f) a -> FixF f -> a
- g_para :: (Functor f, Comonad w) => Dist f w -> GAlgebra f (ParaT w f) a -> FixF f -> a
- prepro_para :: Functor f => GAlgebra f (Para f) a -> (f :~> f) -> FixF f -> a
- g_prepro_para :: (Functor f, Comonad w) => Dist f w -> GAlgebra f (ParaT w f) a -> (f :~> f) -> FixF f -> a
Documentation
g_para :: (Functor f, Comonad w) => Dist f w -> GAlgebra f (ParaT w f) a -> FixF f -> aSource
Generalized paramorphisms using a comonad reader transformer to carry the primitive recursive state