Module

Matryoshka.Refold

Package
purescript-matryoshka
Repository
slamdata/purescript-matryoshka

#hylo Source

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

#hyloM Source

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

#ghylo Source

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

#ghyloM Source

ghyloM :: forall b a m n w f. 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 Source

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

#dyna Source

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

#codyna Source

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

#codynaM Source

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

#chrono Source

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

#convertTo Source

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