Module

Matryoshka.Refold

#hylo

hylo :: forall f a b. Functor f => Algebra f b -> Coalgebra f a -> a -> b

#hyloM

hyloM :: forall f m a b. Monad m => Traversable f => AlgebraM m f b -> CoalgebraM m f a -> a -> m b

#ghylo

ghylo :: forall f w n a b. Monad n => Comonad w => Functor f => DistributiveLaw f w -> DistributiveLaw n f -> GAlgebra w f b -> GCoalgebra n f a -> a -> b

#ghyloM

ghyloM :: forall f w n m a b. Monad m => Monad n => Comonad w => Traversable f => Traversable w => Traversable n => DistributiveLaw f w -> DistributiveLaw n f -> GAlgebraM w m f b -> GCoalgebraM n m f a -> a -> m b

#transHylo

transHylo :: forall t f g h u. Recursive t f => Corecursive u h => Functor g => Transform u g h -> Transform t f g -> t -> u

#dyna

dyna :: forall f a b. Functor f => GAlgebra (Cofree f) f b -> Coalgebra f a -> a -> b

#codyna

codyna :: forall f a b. Functor f => Algebra f b -> GCoalgebra (Free f) f a -> a -> b

#codynaM

codynaM :: forall f m a b. Monad m => Traversable f => AlgebraM m f b -> GCoalgebraM (Free f) m f a -> a -> m b

#chrono

chrono :: forall f a b. Functor f => GAlgebra (Cofree f) f b -> GCoalgebra (Free f) f a -> a -> b

#convertTo

convertTo :: forall t f r. Recursive t f => Corecursive r f => t -> r

Modules