Monad parametrized by a set of requested effect. Use the !!
infix type alias instead.
Type-level set of effects is modelled with intersection types. Type Any
means empty set.
type MyComputationType1 = String !! (MyState & MyError)
type MyComputationType2 = String !! Any
Type parameters
- A
-
Result of the computation
- U
-
Type-level set of effects requested by this computation.
Attributes
- Companion
- object
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Members list
Value members
Concrete methods
Composes 2 independent computations parallelly (if possible), discarding result of the first.
Composes 2 independent computations parallelly (if possible), discarding result of the first.
Parallelism may be impossible, due to at least one of handlers in current scope being inherently sequential (e.g. State.handlers.local
or Error.handlers.first
). In such case, &!
behaves like &&!
.
Attributes
Composes 2 independent computations sequentially, discarding result of the first.
Composes 2 independent computations sequentially, discarding result of the first.
Attributes
Composes 2 independent computations sequentially, discarding result of the second.
Composes 2 independent computations sequentially, discarding result of the second.
Attributes
Composes 2 independent computations parallelly (if possible), discarding result of the second.
Composes 2 independent computations parallelly (if possible), discarding result of the second.
Parallelism may be impossible, due to at least one of handlers in current scope being inherently sequential (e.g. State.handlers.local
or Error.handlers.first
). In such case, &<!
behaves like &&<!
.
Attributes
Parallel version of ++!
.
Parallel version of ++!
.
Attributes
Applies plus
operation from the innermost Choice
effect in the current scope.
Applies plus
operation from the innermost Choice
effect in the current scope.
Similar to <|>
operator of Alternative
.
Attributes
Alias of flatMapHandler
Discards the result, and replaces it by given pure value.
Discards the result, and replaces it by given pure value.
Attributes
Creates a handler effectfully.
Creates a handler effectfully.
Passes computed value to handler constructor. Effect used to compute the value are absorbed by the handler, into its own dependencies.
Attributes
Simplifies effectful creation of handlers.
Simplifies effectful creation of handlers.
Same as computation.flatMapHandler(handler => handler)
.
Attributes
Run this computation in a new fiber.
Run this computation in a new fiber.
Attributes
Applies a handler to this computation.
Applies a handler to this computation.
Same as myHandler.handle(this)
.
Attributes
Like if
statement, but the condition and the body are computations.
Like if
statement, but the condition and the body are computations.
Attributes
Syntax for giving names to fibers.
Syntax for giving names to fibers.
Attributes
Runs the computation, provided that it requests no effects.
Runs the computation, provided that it requests no effects.
Attributes
Runs the computation, provided that it requests IO effect only, or none at all.
Runs the computation, provided that it requests IO effect only, or none at all.
Attributes
Like while
statement, but the condition and the body are computations.
Like while
statement, but the condition and the body are computations.
Attributes
Widens the set of requested effects.
Widens the set of requested effects.
Attributes
Discards the result, and replaces it by Unit
.
Discards the result, and replaces it by Unit
.
Attributes
Like while
statement, but the condition and the body are computations.
Like while
statement, but the condition and the body are computations.
Attributes
Applies filter, using empty
operation from the innermost Choice
effect in the current scope.
Applies filter, using empty
operation from the innermost Choice
effect in the current scope.
Attributes
Composes 2 independent computations sequentially
Composes 2 independent computations sequentially
Attributes
Composes 2 independent computations parallelly (if possible).
Composes 2 independent computations parallelly (if possible).
Parallelism may be impossible, due to at least one of handlers in current scope being inherently sequential (e.g. State.handlers.local
or Error.handlers.first
). In such case, zipPar
behaves like zip
.
Attributes
Races 2 computations.
Races 2 computations.
Runs both computations parallelly, each in fresh fiber. Once one of them finishes, the other is cancelled.
Attributes
Sequential "or-else" operator.
Sequential "or-else" operator.
Runs the first computations in fresh fiber. If it ends up cancelled, the second computation is run.
Attributes
Deprecated methods
Attributes
- Deprecated
- true