Submerges the error case of an Either
into the STM
.
Submerges the error case of an Either
into the STM
. The inverse
operation of STM.either
.
Accesses the environment of the transaction.
Accesses the environment of the transaction to perform a transaction.
Atomically performs a batch of operations in a single transaction.
Checks the condition, and if it's true, returns unit, otherwise, retries.
Collects all the transactional effects in a list, returning a single transactional effect that produces a list of values.
Kills the fiber running the effect.
Kills the fiber running the effect with a RuntimeException
that contains
the specified message.
Returns a value modelled on provided exit status.
Retrieves the environment inside an stm.
Returns a value that models failure in the transaction.
Returns the fiber id of the fiber committing the transaction.
Filters the collection using the specified effectual predicate.
Returns an effectful function that extracts out the first element of a tuple.
Returns an effect that first executes the outer effect, and then executes the inner effect, returning the value from the inner effect, and effectively flattening a nested effect.
Folds an Iterable[A] using an effectual function f, working sequentially from left to right.
Folds an Iterable[A] using an effectual function f, working sequentially from right to left.
Applies the function f
to each element of the Iterable[A]
and
returns a transactional effect that produces a new List[B]
.
Applies the function f
to each element of the Iterable[A]
and
returns a transactional effect that produces Unit
.
Applies the function f
to each element of the Iterable[A]
and
returns a transactional effect that produces Unit
.
Equivalent to foreach(as)(f).unit
, but without the cost of building
the list of results.
Lifts an Either
into a STM
.
Lifts a function R => A
into a ZSTM[R, Nothing, A]
.
Lifts an effectful function whose effect requires no environment into an effect that requires the input to the function.
Lifts an Option
into a STM
.
Lifts a Try
into a STM
.
Returns the identity effectful function, which performs no effects
Runs onTrue
if the result of b
is true
and onFalse
otherwise.
Iterates with the specified transactional function.
Iterates with the specified transactional function. The moral equivalent of:
var s = initial while (cont(s)) { s = body(s) } s
Returns an effect with the value on the left part.
Loops with the specified transactional function, collecting the results into a list.
Loops with the specified transactional function, collecting the results into a list. The moral equivalent of:
var s = initial var as = List.empty[A] while (cont(s)) { as = body(s) :: as s = inc(s) } as.reverse
Loops with the specified transactional function purely for its transactional effects.
Loops with the specified transactional function purely for its transactional effects. The moral equivalent of:
var s = initial while (cont(s)) { body(s) s = inc(s) }
Sequentially zips the specified effects using the specified combiner function.
Sequentially zips the specified effects using the specified combiner function.
Sequentially zips the specified effects using the specified combiner function.
Merges an Iterable[ZSTM]
to a single ZSTM, working sequentially.
Returns an effect wth the empty value.
Creates an STM
value from a partial (but pure) function.
Feeds elements of type A
to a function f
that returns an effect.
Feeds elements of type A
to a function f
that returns an effect.
Collects all successes and failures in a tupled fashion.
Reduces an Iterable[ZSTM]
to a single ZSTM
, working sequentially.
Replicates the given effect n times.
Replicates the given effect n times.
If 0 or negative numbers are given, an empty Iterable
will return.
Requires that the given ZSTM[R, E, Option[A]]
contain a value.
Requires that the given ZSTM[R, E, Option[A]]
contain a value. If there is no
value, then the specified error will be raised.
Abort and retry the whole transaction when any of the underlying transactional variables have changed.
Returns an effect with the value on the right part.
Returns an effectful function that extracts out the second element of a tuple.
Returns an effect with the optional value.
Returns an STM
effect that succeeds with the specified value.
Suspends creation of the specified transaction lazily.
Returns an effectful function that merely swaps the elements in a Tuple2
.
Returns an STM
effect that succeeds with Unit
.
Feeds elements of type A
to f
and accumulates all errors in error
channel or successes in success channel.
Feeds elements of type A
to f
and accumulates all errors in error
channel or successes in success channel.
This combinator is lossy meaning that if there are errors all successes will be lost. To retain all information please use partition.
Feeds elements of type A
to f
until it succeeds.
Feeds elements of type A
to f
until it succeeds. Returns first success
or the accumulation of all errors.
The moral equivalent of if (p) exp
Runs an effect when the supplied PartialFunction
matches for the given value, otherwise does nothing.
Runs an effect when the supplied PartialFunction
matches for the given effectful value, otherwise does nothing.
The moral equivalent of if (p) exp
when p
has side-effects