Returns an effectful function that extracts out the first element of a tuple.
Returns an effectful function that extracts out the second element of a tuple.
See FunctionIO.compose
Lifts an impure function into FunctionIO
, converting throwables into the
specified error type E
.
Lifts an impure function into FunctionIO
, assuming any throwables are
non-recoverable and do not need to be converted into errors.
Returns a FunctionIO
representing a failure with the specified E
.
See @FunctionIO.flatMap
Lifts a pure A => B
into FunctionIO
.
Lifts a pure A => IO[E, B]
into FunctionIO
.
Returns the identity effectful function, which performs no effects and merely returns its input unmodified.
Returns a new effectful function that passes an A
to the condition, and
if the condition returns false, passes the A
to the then0
function, but
otherwise returns the original A
unmodified.
Returns a new effectful function that passes an A
to the condition, and
if the condition returns true, passes the A
to the then0
function, but
otherwise returns the original A
unmodified.
Returns a new effectful function that passes an A
to the condition, and
if the condition returns true, passes the A
to the then0
function,
but if the condition returns false, passes the A
to the else0
function.
See FunctionIO.|||
See FunctionIO.left
See FunctionIO.left
Lifts a value into the monad formed by FunctionIO
.
Returns an effectful function that merely swaps the elements in a Tuple2
.
Returns a new effectful function that passes an A
to the condition, and
if the condition returns true, returns Left(a)
, but if the condition
returns false, returns Right(a)
.
Returns a new effectful function that passes an A
to the condition, and
if the condition returns true, passes the A
through the body to yield a
new A
, which repeats until the condition returns false.
Returns a new effectful function that passes an A
to the condition, and
if the condition returns true, passes the A
through the body to yield a
new A
, which repeats until the condition returns false. This is the
FunctionIO
equivalent of a while(cond) { body }
loop.
See FunctionIO.zipWith
(Since version 1.0.0) use effectTotal