Portability | non-portable (rank-2 polymorphism) |
---|---|

Stability | experimental |

Maintainer | Edward Kmett <ekmett@gmail.com> |

Generalized hylomorphisms

- hylo :: Functor f => Alg g b -> Natural f g -> CoAlg f a -> a -> b
- g_hylo :: (Comonad w, Functor f, Monad m) => Dist g w -> Dist m f -> AlgW g w b -> Natural f g -> CoAlgM f m a -> a -> b
- bihylo :: (Bifunctor f, Bifunctor g) => Alg (g d) b -> Natural (f c) (g d) -> CoAlg (f c) a -> a -> b
- g_bihylo :: (Comonad w, Bifunctor f, Monad m) => Dist (g d) w -> Dist m (f c) -> AlgW (g d) w b -> Natural (f c) (g d) -> CoAlgM (f c) m a -> a -> b
- hhylo :: HFunctor f => AlgH f b -> CoAlgH f a -> Natural a b

# Documentation

g_hylo :: (Comonad w, Functor f, Monad m) => Dist g w -> Dist m f -> AlgW g w b -> Natural f g -> CoAlgM f m a -> a -> bSource

bihylo :: (Bifunctor f, Bifunctor g) => Alg (g d) b -> Natural (f c) (g d) -> CoAlg (f c) a -> a -> bSource