Module

Data.Functor.Mu

#Mu

newtype Mu :: (Type -> Type) -> Typenewtype Mu f

Mu f is the least fixed point of a functor f, when it exists.

Constructors

Instances

#roll

roll :: forall f. f (Mu f) -> Mu f

#unroll

unroll :: forall f. Mu f -> f (Mu f)

#transMu

transMu :: forall f g. Functor g => f ~> g -> Mu f -> Mu g

Rewrites a tree along a natural transformation.

Modules