package core
- Source
- package.scala
- Alphabetic
- By Inheritance
- core
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- final type Axn[+A] = Rxn[Any, A]
The description of an effect, which (when executed), results in a value of type
A
; during execution, it may update any number of Refs atomically (and it may also create newRef
s).The description of an effect, which (when executed), results in a value of type
A
; during execution, it may update any number of Refs atomically (and it may also create newRef
s).This type forms a
Monad
. However, when composing these kinds of effects, also consider using Rxn and>>>
or*>
instead offlatMap
.The relation between Axn and Rxn is approximately
Axn[A] ≡ Rxn[Any, A]
; or, alternativelyRxn[A, B] ≡ (A => Axn[B])
(see toFunction). - sealed trait Exchanger[A, B] extends AnyRef
- trait Reactive[F[_]] extends ~>[Axn, F]
- sealed abstract class RetryStrategy extends Product with Serializable
- sealed abstract class Rxn[-A, +B] extends AnyRef
An effectful function from
A
toB
; when executed, it may update any number of Refs atomically.An effectful function from
A
toB
; when executed, it may update any number of Refs atomically. (It may also create new Refs.)These functions are composable (see below), and composition preserves their atomicity. That is, all affected Refs will be updated atomically.
A Rxn forms an Arrow (more specifically, an ArrowChoice). It also forms a Monad in
B
; however, consider using the arrow combinators (when possible) instead offlatMap
(since a static combination ofRxn
s may be more performant).The relation between Rxn and Axn is approximately
Rxn[A, B] ≡ (A => Axn[B])
; or, alternativelyAxn[A] ≡ Rxn[Any, A]
.
Value Members
- object Axn
Pseudo-companion object for the type alias Axn.
- object Reactive extends Serializable
- object RetryStrategy extends Serializable
- object Rxn extends RxnInstances0