Module

Matryoshka.Unfold

#ana

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

#anaM

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

#gana

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

#ganaM

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

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

#transAna

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

#transAnaT

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

#transAnaM

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

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

#postpro

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

#gpostpro

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

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

#apo

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

#gapo

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

#apoM

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

#elgotApo

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

#transApo

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

#transApoT

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

#futu

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

#elgotFutu

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

#futuM

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

#colambek

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

Modules