apply a function to an Eff value using the applicative instance
apply a function to an Eff value using the applicative instance
bracket an action with one last action to execute at the end of the program
bracket an action with one last action to execute at the end of the program
use the internal effect as one of the stack effects
use the internal effect as one of the stack effects
peel-off the only present effect
peel-off the only present effect
peel-off the only present effect
peel-off the only present effect
peel-off the only present effect, using an Applicative instance where possible
peel-off the only present effect, using an Applicative instance where possible
peel-off the only present effect, using an Applicative instance where possible
peel-off the only present effect, using an Applicative instance where possible
An Eff[R, A] value can be transformed into an Eff[U, A] value provided that all the effects in R are also in U
An Eff[R, A] value can be transformed into an Eff[U, A] value provided that all the effects in R are also in U
Monad implementation for the Eff[R, ?] type
Monad implementation for the Eff[R, ?] type
use the applicative instance of Eff to sequence a list of values, then flatten it
use the applicative instance of Eff to sequence a list of values, then flatten it
use the applicative instance of Eff to traverse a list of values, then flatten it
use the applicative instance of Eff to traverse a list of values, then flatten it
create a delayed impure value
create a delayed impure value
create a delayed impure value
create a delayed impure value
create a impure value from an union of effects and a continuation
create a impure value from an union of effects and a continuation
Memoize an effect using a cache
Memoize an effect using a cache
all the consecutive effects M[X] leading to the computation of Eff[R, A] will be cached in the cache and retrieved from there if the Eff[R, A] computation is executed again
create a pure value
create a pure value
base runner for an Eff value having no effects at all the execution is trampolined using Eval
base runner for an Eff value having no effects at all the execution is trampolined using Eval
get the pure value if there is no effect
get the pure value if there is no effect
create an Eff[R, A] value from an effectful value of type T[V] provided that T is one of the effects of R
create an Eff[R, A] value from an effectful value of type T[V] provided that T is one of the effects of R
use the applicative instance of Eff to sequence a list of values
use the applicative instance of Eff to sequence a list of values
use the applicative instance of Eff to traverse a list of values
use the applicative instance of Eff to traverse a list of values
create an Eff value for ()
create an Eff value for ()
attach a clean-up action to the continuation (if any)
attach a clean-up action to the continuation (if any)