EasyRecursion

Beginner-friendly. No Greek.

class Object
trait Matchable
class Any

Value members

Concrete methods

def fold[F[_] : Functor, A](alg: F => A)(f: Fix[F]): A
def monadicFold[M[_] : Monad, F[_] : Traverse, A](alg: (M, F) => A)(f: Fix[F]): M[A]
def monadicUnfold[M[_] : Monad, F[_] : Traverse, A](coalg: (M, F) => A)(a: A): M[Fix[F]]
def monadicUnfoldIntoFold[M[_] : Monad, F[_] : Traverse, A, B](coalg: (M, F) => A, alg: (M, F) => B)(a: A): M[B]
def unfold[F[_] : Functor, A](coalg: F => A)(a: A): Fix[F]
def unfoldIntoFold[F[_] : Functor, A, B](coalg: F => A, alg: F => B)(a: A): B