Monad implementation for the Eff[R, ?] type
Monad implementation for the Eff[R, ?] type
apply a function to an Eff value using the applicative instance
apply a function to an Eff value using the applicative instance
try to execute an action an report any issue
try to execute an action an report any issue
Attempt to execute a safe action including finalizers
Attempt to execute a safe action including finalizers
catch and handle a possible Left value
catch and handle a possible Left value
evaluate 1 action possibly having error effects
evaluate 1 action possibly having error effects
Execute a second action if the first one is not successful, based on the error
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, 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
run a safe effect but drop the finalizer errors
run a safe effect but drop the finalizer errors
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 an Either effect from a single Either value
create an Either effect from a single Either value
ignore one possible exception that could be thrown
ignore one possible exception that could be thrown
create a impure value from an union of effects and a continuation
create a impure value from an union of effects and a continuation
create a failed value
create a failed value
create an Either effect from a single Option value
create an Either effect from a single Option value
evaluate 1 action possibly having error effects
evaluate 1 action possibly having error effects
Execute a second action if the first one is not successful
create a pure value
create a pure value
create a correct value
create a correct value
base runner for an Eff value having no effects at all
base runner for an Eff value having no effects at all
This runner can only return the value in Pure because it doesn't known how to interpret the effects in Impure
run the disjunction effect, yielding E Either A
run the disjunction effect, yielding E Either A
run the disjunction effect, yielding Either[E, A]
run the disjunction effect, yielding Either[E, A]
Translate an error effect to another one in the same stack a computation over a "bigger" error (for the full application)
Translate an error effect to another one in the same stack a computation over a "bigger" error (for the full application)
get the pure value if there is no effect
get the pure value if there is no effect
Run a safe effect
Run a safe effect
Collect finalizer exceptions if any
run a writer effect and return the list of written values
run a writer effect and return the list of written values
This uses a ListBuffer internally to append values
More general fold of runWriter where we can use a fold to accumulate values in a mutable buffer
More general fold of runWriter where we can use a fold to accumulate values in a mutable buffer
Run a side-effecting fold
Run a side-effecting fold
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
write a given value
write a given value
evaluate 1 action possibly having error effects execute a second action whether the first is successful or not but keep track of finalizer exceptions
evaluate 1 action possibly having error effects execute a second action whether the first is successful or not but keep track of finalizer exceptions
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 ()
evaluate 1 action possibly throwing exceptions
evaluate 1 action possibly throwing exceptions
Execute a second action if the first one is not successful, based on the exception
The final value type is the same as the original type