Propagation

trait Propagation[M[_]] extends Observe[M]
Companion:
object
trait Observe[M]
trait Observers[M]
class Object
trait Matchable
class Any

Type members

Classlikes

final class UpdateSyntaxHelper[D, U, Δ](ref: Var[D])(implicit dom: Aux[D, U, Δ])

Inherited classlikes

class IObserveSyntaxHelper[D[_], Δ[_, _]](src: IVal[D])(using dom: AuxΔ[D, Δ])
Inherited from:
Observe
sealed trait Observable[A, Δ]
Inherited from:
Observe
final class ObserveSyntaxHelper[A, Δ](src: Observable[A, Δ])(using dom: AuxΔ[A, Δ])
Inherited from:
Observe

Types

type IVar[A[_]]
type Out[_]
type Var[A] = IVar[[i] =>> A]

Inherited types

type ITrigger[D[_], Δ[_, _], I]
Inherited from:
Observers
type IVal[_[_]]
Inherited from:
Observe
final type Trigger[A, Δ] = `Forall{* -> *}`[[_] =>> ITrigger[[i] =>> A, [i, j] =>> Δ, _$35]]
Inherited from:
Observers
type Val[A] = IVal[[i] =>> A]
Inherited from:
Observe

Value members

Abstract methods

def constOut[A](a: A): Out[A]
def flatMapOut[A, B](a: Out[A])(f: A => Out[B]): Out[B]
def iOut[D[_], B](v: IVar[D], f: [i] => (x$1: D[i]) => B): Out[B]
def iReadOnly[D[_]](a: IVar[D]): IVal[D]
def iUpdate[D[_], U[_], J](ref: IVar[D])(u: U[J])(implicit dom: Aux0[D, U]): M[Exists[IUpdateRes]]
def mapOut[A, B](a: Out[A])(f: A => B): Out[B]
def newICell[D[_], I](d: D[I])(implicit dom: IDom[D]): M[IVar[D]]
def pairOut[A, B](a: Out[A], b: Out[B]): Out[(A, B)]

Concrete methods

def cells[D](d: D, n: Int)(implicit dom: Dom[D]): M[Vector[Var[D]]]
def iOut[D[_]](v: IVar[D]): Out[Exists[D]]
final def newCell[D](d: D)(implicit dom: Dom[D]): M[Var[D]]
def newCell[D](implicit dom: DomWithBottom[D]): M[Var[D]]
def out[D](v: Var[D]): Out[D]
def update[D](ref: Var[D])(implicit dom: Dom[D]): UpdateSyntaxHelper[D, Update, Delta]
final def updateImpl[D, U, Δ](ref: Var[D])(u: U)(implicit dom: Aux[D, U, Δ]): M[Unit]

Inherited methods

def alternate[A, B, L, R](ref1: Val[A], ref2: Val[B])(f: (A, B) => Alternator, onStartLeft: () => M[L], onStartRight: () => M[R], onSwitchToLeft: R => M[L], onSwitchToRight: L => M[R], onStop: Option[Either[L, R]] => M[Unit])(implicit domA: Dom[A], domB: Dom[B], M: Bind[M]): M[Unit]
Inherited from:
Observe
def alternate0[A, B](ref1: Val[A], ref2: Val[B])(f: (A, B) => Alternator, onSwitchToLeft: M[Unit], onSwitchToRight: M[Unit], onStop: M[Unit])(implicit domA: Dom[A], domB: Dom[B], M: Bind[M]): M[Unit]
Inherited from:
Observe
def continually[D, Δ](f: (D, Δ) => M[Unit]): (D, Δ) => Trigger[D, Δ]
Inherited from:
Observers
def continually[D, Δ](f: D => M[Unit]): D => Trigger[D, Δ]
Inherited from:
Observers
def discard[A, Δ]: Trigger[A, Δ]
Inherited from:
Observers
def fire[A, Δ](action: M[Unit]): Trigger[A, Δ]
Inherited from:
Observers
def fireReload[A, Δ](action: M[Unit], next: (A, Δ) => Trigger[A, Δ]): Trigger[A, Δ]
Inherited from:
Observers
def iContinually[D[_], Δ[_, _], I](f: [i, j] => (x$1: D[j], x$2: Δ[i, j]) => M[Unit]): [j] => (x$1: D[j], x$2: Δ[I, j]) => ITrigger[D, Δ, j]
Inherited from:
Observers
def iContinually[D[_], Δ[_, _]](f: [i] => (x$1: D[i]) => M[Unit]): [i] => (x$1: D[i]) => ITrigger[D, Δ, i]
Inherited from:
Observers
def iDiscard[D[_], Δ[_, _], I]: ITrigger[D, Δ, I]
Inherited from:
Observers
def iFire[D[_], Δ[_, _], I](action: M[Unit]): ITrigger[D, Δ, I]
Inherited from:
Observers
def iFireReload[D[_], Δ[_, _], I](action: M[Unit], next: [j] => (x$1: D[j], x$2: Δ[I, j]) => ITrigger[D, Δ, j]): ITrigger[D, Δ, I]
Inherited from:
Observers
def iObserve[D[_]](src: IVal[D])(using dom: IDom[D]): IObserveSyntaxHelper[D, IDelta]
Inherited from:
Observe
def iObserve[D[_], Δ[_, _]](src: IVal[D], f: [i] => (x$1: D[i]) => ITrigger[D, Δ, i])(implicit dom: AuxΔ[D, Δ]): M[Subscription[M]]
Inherited from:
Observe
def iReconsider[D[_], Δ[_, _], I](action: M[ITrigger[D, Δ, I]]): ITrigger[D, Δ, I]
Inherited from:
Observers
def iSleep[D[_], Δ[_, _], I](next: [j] => (x$1: D[j], x$2: Δ[I, j]) => ITrigger[D, Δ, j]): ITrigger[D, Δ, I]
Inherited from:
Observers
def iThreshold[D[_], Δ[_, _]](f: [i] => (x$1: D[i]) => Option[M[Unit]]): [i] => (x$1: D[i]) => ITrigger[D, Δ, i]
Inherited from:
Observers
def observable[A](src: Val[A])(using da: Dom[A]): Observable[A, Delta]
Inherited from:
Observe
def observe[A](src: Val[A])(implicit dom: Dom[A]): ObserveSyntaxHelper[A, Delta]
Inherited from:
Observe
def observeImpl[A, U, Δ](src: Val[A])(f: A => Trigger[A, Δ])(implicit dom: Aux[A, U, Δ]): M[Subscription[M]]
Inherited from:
Observe
def observeImplC[A, U, Δ, B](src: Val[A])(f: A => ContU[M, (Trigger[A, Δ], B)])(implicit dom: Aux[A, U, Δ]): ContU[M, (Subscription[M], B)]
Inherited from:
Observe
def observerS[D, Δ, S](s: S)(f: S => TriggerF[M, D, Δ, S]): Trigger[D, Δ]
Inherited from:
Observers
def peek_[A](ref: Val[A])(f: A => M[Unit])(implicit dom: Dom[A], M: Functor[M]): M[Unit]
Inherited from:
Observe
def reconsider[A, Δ](action: M[Trigger[A, Δ]]): Trigger[A, Δ]
Inherited from:
Observers
def sleep[A, Δ](next: (A, Δ) => Trigger[A, Δ]): Trigger[A, Δ]
Inherited from:
Observers
def threshold[D, Δ](f: D => Option[M[Unit]]): D => Trigger[D, Δ]

Keep trying f until it returns Some. Then fire the returned program.

Keep trying f until it returns Some. Then fire the returned program.

Inherited from:
Observers
def threshold1[D, Δ](f: D => Option[M[Unit]]): (D, Δ) => Trigger[D, Δ]

Keep trying f until it returns Some. Then fire the returned program.

Keep trying f until it returns Some. Then fire the returned program.

Inherited from:
Observers
def thresholdOpt[D, Δ](f: D => Option[Option[M[Unit]]]): D => Trigger[D, Δ]

Keep trying f until it returns Some. Then fire the returned program, if any.

Keep trying f until it returns Some. Then fire the returned program, if any.

Inherited from:
Observers
def thresholdOpt1[D, Δ](f: D => Option[Option[M[Unit]]]): (D, Δ) => Trigger[D, Δ]

Keep trying f until it returns Some. Then fire the returned program, if any.

Keep trying f until it returns Some. Then fire the returned program, if any.

Inherited from:
Observers
def thresholdTransition[D, Δ](f: D => Option[Trigger[D, Δ]]): D => Trigger[D, Δ]
Inherited from:
Observers
def thresholdTransition1[D, Δ](f: D => Option[Trigger[D, Δ]]): (D, Δ) => Trigger[D, Δ]
Inherited from:
Observers
def untilRight[D, Δ](f: (D, Δ) => Either[M[Unit], M[Unit]]): (D, Δ) => Trigger[D, Δ]
Inherited from:
Observers
def untilRight[D, Δ](f: D => Either[M[Unit], M[Unit]]): D => Trigger[D, Δ]
Inherited from:
Observers
def untilRightS[S, D, Δ](s: S)(f: (S, D, Δ) => Either[M[S], M[Unit]]): (D, Δ) => Trigger[D, Δ]
Inherited from:
Observers
def untilRightS[S, D, Δ](init: D => Either[M[S], M[Unit]], trans: (S, D, Δ) => Either[M[S], M[Unit]]): D => Trigger[D, Δ]
Inherited from:
Observers
def untilRightSeq[D, Δ](f: (D, Δ) => Either[M[Unit], M[Unit]]): (D, Δ) => Trigger[D, Δ]
Inherited from:
Observers
def untilRightSeq[D, Δ](f: D => Either[M[Unit], M[Unit]]): D => Trigger[D, Δ]
Inherited from:
Observers

Extensions

Inherited extensions

extension [D, Δ](t: Trigger[D, Δ])
def contramap[C, Γ](f: C => D, g: Γ => Δ): Trigger[C, Γ]
Inherited from:
Observers
extension [D[_], Δ[_, _], I](t: ITrigger[D, Δ, I])
def contramap[C[_], Γ[_, _]](f: [i] => (x$1: C[i]) => D[i], g: [i, j] => (x$1: Γ[i, j]) => Δ[i, j]): ITrigger[C, Γ, I]
Inherited from:
Observers

Implicits

Implicits

implicit override def M: Monad[M]
Definition Classes
implicit def monadOut: Monad[Out]
implicit def readOnly[A](ref: Var[A]): Val[A]