A computation that accepts values of type A
, eventually resulting in a value of type B
.
A computation that accepts values of type A
, eventually resulting in a value of type B
.
Note the similarity to an scalaz.iteratee.Iteratee.
A computation that produces values of type A
, eventually resulting in a value of type B
.
A computation that can be stepped through, suspended, and paused
Absorb a step in S
into the free monad for S
A sink that waits for a single value and returns it.
Monadic join for the higher-order monad Free
Suspends a value within a functor in a single step.
Suspends a value within a functor in a single step. Monadic unit for a higher-order monad.
A version of liftF
that infers the nested type constructor.
A trampoline step that doesn't do anything.
Return the given value in the free monad.
A source that produces the given value.
Alias for point
Collapse a trampoline to a single step.
Suspend the given computation in a single step.
Absorb a step into the free monad.
Suspend a computation in a pure step of the applicative functor S