Module

Matryoshka.Unfold

Package
purescript-matryoshka
Repository
purescript-contrib/purescript-matryoshka

#ana Source

ana :: forall t f a. Corecursive t f => Coalgebra f a -> a -> t

#anaM Source

anaM :: forall t f m a. Corecursive t f => Monad m => Traversable f => CoalgebraM m f a -> a -> m t

#gana Source

gana :: forall t f n a. Corecursive t f => Monad n => DistributiveLaw n f -> GCoalgebra n f a -> a -> t

#ganaM Source

ganaM :: forall t f m n a. Corecursive t f => Monad m => Monad n => Traversable f => Traversable n => DistributiveLaw n f -> GCoalgebraM n m f a -> a -> m t

#elgotAna Source

elgotAna :: forall t f n a. Corecursive t f => Monad n => DistributiveLaw n f -> ElgotCoalgebra n f a -> a -> t

#transAna Source

transAna :: forall t f u g. Recursive t f => Corecursive u g => Transform t f g -> t -> u

#transAnaT Source

transAnaT :: forall t f. Recursive t f => Corecursive t f => (t -> t) -> t -> t

#transAnaM Source

transAnaM :: forall t f u g m. Recursive t f => Corecursive u g => Monad m => Traversable g => TransformM m t f g -> t -> m u

#transAnaTM Source

transAnaTM :: forall t f m. Recursive t f => Corecursive t f => Monad m => Traversable f => Coalgebra m t -> t -> m t

#postpro Source

postpro :: forall t f a. Recursive t f => Corecursive t f => (f ~> f) -> Coalgebra f a -> a -> t

#gpostpro Source

gpostpro :: forall t f n a. Recursive t f => Corecursive t f => Monad n => DistributiveLaw n f -> (f ~> f) -> GCoalgebra n f a -> a -> t

#transPostpro Source

transPostpro :: forall t f u g. Recursive t f => Recursive u g => Corecursive u g => (g ~> g) -> Transform t f g -> t -> u

#apo Source

apo :: forall t f a. Corecursive t f => GCoalgebra (Either t) f a -> a -> t

#gapo Source

gapo :: forall t f a b. Corecursive t f => Coalgebra f b -> GCoalgebra (Either b) f a -> a -> t

#apoM Source

apoM :: forall t f m a. Corecursive t f => Monad m => Traversable f => GCoalgebraM (Either t) m f a -> a -> m t

#elgotApo Source

elgotApo :: forall t f a. Corecursive t f => ElgotCoalgebra (Either t) f a -> a -> t

#transApo Source

transApo :: forall t f u g. Recursive t f => Corecursive u g => CoalgebraicGTransform (Either u) t f g -> t -> u

#transApoT Source

transApoT :: forall t f. Recursive t f => Corecursive t f => (t -> Either t t) -> t -> t

#futu Source

futu :: forall t f a. Corecursive t f => GCoalgebra (Free f) f a -> a -> t

#elgotFutu Source

elgotFutu :: forall t f a. Corecursive t f => ElgotCoalgebra (Free f) f a -> a -> t

#futuM Source

futuM :: forall t f m a. Corecursive t f => Monad m => Traversable f => GCoalgebraM (Free f) m f a -> a -> m t

#colambek Source

colambek :: forall t f. Recursive t f => Corecursive t f => f t -> t