Alias for flatMap
Runs a single step, using a function that extracts the resumption from its suspension functor.
Runs a Source
all the way to the end, tail-recursively, collecting the produced values.
Feed the given source to this Sink
.
Drive this Source
with the given Sink.
Feed the given stream to this Source
.
Binds the given continuation to the result of this computation.
Binds the given continuation to the result of this computation. All left-associated binds are reassociated to the right.
Runs to completion, allowing the resumption function to thread an arbitrary state of type B
.
Runs to completion, using a function that extracts the resumption from its suspension functor.
Modifies the first suspension with the given natural transformation.
Changes the suspension functor by the given natural transformation.
Evaluates a single layer of the free monad.
Evaluates a single layer of the free monad.
Runs a trampoline all the way to the end, tail-recursively.
7.0.1
Applies a function in a comonad to the corresponding value in this monad, annihilating both.
Applies a function f
to a value in this monad and a corresponding value in the dual comonad, annihilating both.
Interleave this computation with another, combining the results with the given function.
A free operational monad for some functor
S
. Binding is done using the heap instead of the stack, allowing tail-call elimination.