Binds the given continuation to the result of this computation.
Runs to completion, mapping the suspension with the given transformation
at each step and accumulating into the monad M
.
Changes the underlying Monad
for this FreeT
, ie.
Changes the underlying Monad
for this FreeT
, ie.
turning this FreeT[S, M, A]
into a FreeT[S, N, A]
.
Change the base functor S
for a FreeT
action.
Evaluates a single layer of the free monad
Runs to completion, using a function that maps the resumption from S
to a monad M
.
FreeT is a monad transformer for Free monads over a Functor S
Stack safety for
Free
andFreeT
is based on the paper Stack Safety for Free by Phil FreemanThis Scala implementation of
FreeT
and its usages are derived from Scalaz's FreeT, originally written by Brian McKenna.