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 KleisliIO.compose
Returns a KleisliIO representing a failure with the specified E.
See @KleisliIO.flatMap
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.
Lifts an impure function into KleisliIO, converting throwables into the
specified error type E.
Lifts an impure function into KleisliIO, assuming any throwables are
non-recoverable and do not need to be converted into errors.
See KleisliIO.|||
See KleisliIO.left
Lifts a pure A => B into KleisliIO.
Lifts a value into the monad formed by KleisliIO.
Lifts a pure A => IO[E, B] into KleisliIO.
See KleisliIO.left
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
KleisliIO equivalent of a while(cond) { body } loop.
See KleisliIO.zipWith