A variation of an anamorphism that lets you terminate any point of the recursion using a value of the original input type.
A variation of an anamorphism that lets you terminate any point of the recursion using a value of the original input type.
One use case is to return cached/precomputed results during an unfold.
A monadic version of an apomorphism.
A monadic version of an apomorphism.
A fusion refold of a futumorphism followed by a histomorphism
A fusion refold of a futumorphism followed by a histomorphism
A fusion refold of an anamorphism followed by a histomorphism
A fusion refold of an anamorphism followed by a histomorphism
Futumorphism
Futumorphism
Histomorphism
Histomorphism
A variation of a catamorphism that gives you access to the input value at every point in the computation.
A variation of a catamorphism that gives you access to the input value at every point in the computation.
A paramorphism "eats its argument and keeps it too."
This means each step has access to both the computed result value as well as the original value.
A monadic version of a paramorphism.
A monadic version of a paramorphism.
A variation of an anamorphism that applies a natural transformation after its coalgebra.
A variation of an anamorphism that applies a natural transformation after its coalgebra.
This allows one to postprocess the output structure.
A variation of a catamorphism that applies a natural transformation before its algebra.
A variation of a catamorphism that applies a natural transformation before its algebra.
This allows one to preprocess the input structure.
A catamorphism built from two semi-mutually recursive functions.
A catamorphism built from two semi-mutually recursive functions.
This allows the second algebra to depend on the result of the first one.
A petting zoo for wild and exotic animals we keep separate from the regulars in scheme. For their safety and yours.