dev.tauri.choam.core

Members list

Type members

Classlikes

object Axn

Pseudo-companion object for the type alias Axn.

Pseudo-companion object for the type alias Axn.

Attributes

Source
Axn.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Axn.type
sealed trait Exchanger[A, B]

Attributes

Source
Exchanger.scala
Supertypes
class Object
trait Matchable
class Any
trait Reactive[F[_]] extends FunctionK[Axn, F]

Attributes

Companion
object
Source
Reactive.scala
Supertypes
trait FunctionK[Axn, F]
trait Serializable
class Object
trait Matchable
class Any
Self type
object Reactive

Attributes

Companion
trait
Source
Reactive.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Reactive.type
sealed abstract class RetryStrategy extends Product, Serializable

Attributes

Companion
object
Source
RetryStrategy.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class Spin
object RetryStrategy

Attributes

Companion
class
Source
RetryStrategy.scala
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed abstract class Rxn[-A, +B]

An effectful function from A to B; when executed, it may update any number of Refs atomically.

An effectful function from A to B; 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 of flatMap (since a static combination of Rxns may be more performant).

The relation between Rxn and Axn is approximately Rxn[A, B] ≡ (A => Axn[B]); or, alternatively Axn[A] ≡ Rxn[Any, A].

Attributes

Companion
object
Source
Rxn.scala
Supertypes
class Object
trait Matchable
class Any
object Rxn

Attributes

Companion
class
Source
Rxn.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Rxn.type

Types

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 new Refs).

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 new Refs).

This type forms a Monad. However, when composing these kinds of effects, also consider using Rxn and >>> or *> instead of flatMap.

The relation between Axn and Rxn is approximately Axn[A] ≡ Rxn[Any, A]; or, alternatively Rxn[A, B] ≡ (A => Axn[B]) (see toFunction).

Attributes

Source
package.scala