Module

SSRS.Fold

Package
purescript-ssrs
Repository
PureFunctor/purescript-ssrs

#unsafeCata Source

unsafeCata :: forall p q v. (p (Mu p) -> Result p q v (Mu p)) -> (q v (Mu p) -> v -> Result p q v (Mu p)) -> Algebra p v -> Mu p -> v

#cata Source

cata :: forall p q v. Dissect p q => Algebra p v -> Mu p -> v

#cataM Source

cataM :: forall m p q v. MonadRec m => Dissect p q => AlgebraM m p v -> Mu p -> m v

#transCata Source

transCata :: forall p p' q q'. Dissect p p' => Dissect q q' => Transform (Mu q) p q -> Mu p -> Mu q

#transCataM Source

transCataM :: forall m p p' q q'. MonadRec m => Coercible (m (q (Mu q))) (m (Mu q)) => Dissect p p' => Dissect q q' => TransformM m (Mu q) p q -> Mu p -> m (Mu q)

#transCataT Source

transCataT :: forall p q. Dissect p q => (Mu p -> Mu p) -> Mu p -> Mu p

#transCataTM Source

transCataTM :: forall m p q. MonadRec m => Dissect p q => (Mu p -> m (Mu p)) -> Mu p -> m (Mu p)

#prepro Source

prepro :: forall p q v. Dissect p q => (p ~> p) -> Algebra p v -> Mu p -> v

#para Source

para :: forall p q v. Dissect p q => GAlgebra (Tuple (Mu p)) p v -> Mu p -> v

#paraM Source

paraM :: forall m p q v. MonadRec m => Dissect p q => GAlgebraM (Tuple (Mu p)) m p v -> Mu p -> m v

#histo Source

histo :: forall p q v. Dissect p q => GAlgebra (Cofree p) p v -> Mu p -> v

#histoM Source

histoM :: forall m p q v. MonadRec m => Dissect p q => GAlgebraM (Cofree p) m p v -> Mu p -> m v

#zygo Source

zygo :: forall p q v w. Dissect p q => Algebra p w -> GAlgebra (Tuple w) p v -> Mu p -> v

#zygoM Source

zygoM :: forall m p q v w. MonadRec m => Dissect p q => AlgebraM m p w -> GAlgebraM (Tuple w) m p v -> Mu p -> m v

#mutu Source

mutu :: forall p q v w. Dissect p q => GAlgebra (Tuple v) p w -> GAlgebra (Tuple w) p v -> Mu p -> v

#mutuM Source

mutuM :: forall m p q v w. MonadRec m => Dissect p q => GAlgebraM (Tuple v) m p w -> GAlgebraM (Tuple w) m p v -> Mu p -> m v