Module

Data.Functor.Nu

#Nu

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

Nu f is the greatest fixed point of the functor f, when it exists.

Constructors

Instances

#NuF

newtype NuF :: (Type -> Type) -> Type -> Typenewtype NuF f a

Constructors

#unfold

unfold :: forall f a. a -> (a -> f a) -> Nu f

#observe

observe :: forall f. Functor f => Nu f -> f (Nu f)

Modules