Lazily perform a computation based on an Eval[A], using the
function f
to produce an Eval[B] given an A.
Lazily perform a computation based on an Eval[A], using the
function f
to produce an Eval[B] given an A.
This call is stack-safe -- many .flatMap calls may be chained without consumed additional stack during evaluation. It is also written to avoid left-association problems, so that repeated calls to .flatMap will be efficiently applied.
Computation performed in f is always lazy, even when called on an eager (Now) instance.
Transform an Eval[A] into an Eval[B] given the transformation
function f
.
Transform an Eval[A] into an Eval[B] given the transformation
function f
.
This call is stack-safe -- many .map calls may be chained without consumed additional stack during evaluation.
Computation performed in f is always lazy, even when called on an eager (Now) instance.
Ensure that the result of the computation (if any) will be memoized.
Evaluate the computation and return an A value.
Call is a type of Eval[A] that is used to defer computations which produce Eval[A].
Users should not instantiate Call instances themselves. Instead, they will be automatically created when needed.