simple

trait Sources
trait FlattenApi
trait Observing
trait Core
class Object
trait Matchable
class Any

Document{}

object Event

Similar to Signal expressions, but resulting in an event. Accessed events return options depending on whether they fire or not, and the complete result of the expression is an event as well.

Similar to Signal expressions, but resulting in an event. Accessed events return options depending on whether they fire or not, and the complete result of the expression is an event as well.

See also

Signal

Inherited from
EventCompatBundle
final
def Evt[A]()(implicit ticket: CreationTicket): Evt[A]
Inherited from
Sources
object Signal

A signal expression can be used to create signals accessing arbitrary other signals. Use the apply method on a signal to access its value inside of a signal expression.

A signal expression can be used to create signals accessing arbitrary other signals. Use the apply method on a signal to access its value inside of a signal expression.

val a: Signal[Int]
val b: Signal[Int]
val result: Signal[String] = Signal { a().toString + b().toString}
Inherited from
SignalCompatBundle
object Var

Creates new Vars

Creates new Vars

Inherited from
Sources
Inherited from
RescalaInterface
def transaction[R](initialWrites: ReSource*)(admissionPhase: AdmissionTicket => R): R

Executes a transaction.

Executes a transaction.

Type Params
R

Result type of the admission function

Value Params
admissionPhase

An admission function that may rescala.operator.Sources.Evt.admit / rescala.operator.Sources.Var.admit arbitrary input changes that will be applied as an atomic transaction at the end.

initialWrites

All inputs that might be changed by the transaction

Returns

Result of the admission function

Example

transaction(a, b){ implicit at => a.set(5); b.set(1); at.now(a) }

Inherited from
RescalaInterface
def transactionWithWrapup[I, R](initialWrites: ReSource*)(admissionPhase: AdmissionTicket => I)(wrapUpPhase: (I, AccessTicket) => R): R

Executes a transaction with WrapUpPhase.

Executes a transaction with WrapUpPhase.

See also

transaction

Inherited from
RescalaInterface

Type members

Inherited classlikes

Inherited from
Core
abstract
class AdmissionTicket(initializer: Initializer, declaredWrites: Set[ReSource])

Enables reading of the current value during admission. Keeps track of written sources internally.

Enables reading of the current value during admission. Keeps track of written sources internally.

Inherited from
Core
abstract
class Base[V](val state: State[V], val name: ReName)

Base implementation for reactives, with Derived for scheduling, together with a ReName and containing a State

Base implementation for reactives, with Derived for scheduling, together with a ReName and containing a State

Value Params
name

the name of the reactive, useful for debugging as it often contains positional information

state

the initial state passed by the scheduler

Inherited from
Core
class ChangeEventImpl[T](_bud: State[(Pulse[T], Pulse[Diff[T]])], signal: Signal[T], name: ReName)
@implicitNotFound(msg = "Could not find capability to create reactives. Maybe a missing import?")
final
class CreationTicket(val self: Either[Initializer, Scheduler], val rename: ReName)

Enables the creation of other reactives

Enables the creation of other reactives

Inherited from
Core

As reactives can be created during propagation, any InnerTicket can be converted to a creation ticket.

As reactives can be created during propagation, any InnerTicket can be converted to a creation ticket.

Inherited from
Core
trait Derived

A reactive value is something that can be reevaluated

A reactive value is something that can be reevaluated

Inherited from
Core
abstract
class DerivedImpl[T](initial: State[Pulse[T]], name: ReName, isDynamicWithStaticDeps: Option[Set[ReSource]])
Inherited from
Core
Inherited from
Core
trait DynamicInitializerLookup[ExactInitializer <: Initializer]
Inherited from
Core
abstract
class DynamicTicket(creation: Initializer)

User facing low level API to access values in a dynamic context.

User facing low level API to access values in a dynamic context.

Inherited from
Core
trait Event[+T]

Events only propagate a value when they are changing, when the system is at rest, events have no values.

Events only propagate a value when they are changing, when the system is at rest, events have no values.

Note: We hide implicit parameters of the API in the documentation. They are used to ensure correct creation, and you normally do not have to worry about them, except if you accidentally call the implicit parameter list, in which cas you may get cryptic errors. This is a scala limitation. We also hide the internal state parameter of passed and returned events.

Type Params
S

Internal rescala.core.Structure of state.

T

Value type of the event occurrences.

Inherited from
EventBundle
trait EventCompat[+T]
Inherited from
EventCompatBundle
class EventImpl[T](initial: State[Pulse[T]], expr: DynamicTicket => Pulse[T], name: ReName, isDynamicWithStaticDeps: Option[Set[ReSource]])
Value Params
isDynamicWithStaticDeps

If this is None, the event is static. Else, it is dynamic with the set of static dependencies

Inherited from
DefaultImplementations
object Events
Inherited from
EventBundle
class Evt[T]

Source events with imperative occurrences

Source events with imperative occurrences

Type Params
S

Struct type used for the propagation of the event

T

Type returned when the event fires

Value Params
initialState

of by the event

Inherited from
Sources
@implicitNotFound(msg = "Could not flatten ${A}. Try to select a specific flatten strategy from rescala.reactives.Flatten.")
trait Flatten[-A, R]
Inherited from
FlattenApi

Encapsulates an action changing a single source.

Encapsulates an action changing a single source.

Inherited from
Core
Inherited from
Core
class InnerTicket(val initializer: Initializer)

InnerTickets are used in Rescala to give capabilities to contexts during propagation. ReevTicket is used during reevaluation, and AdmissionTicket during the initialization.

InnerTickets are used in Rescala to give capabilities to contexts during propagation. ReevTicket is used during reevaluation, and AdmissionTicket during the initialization.

Inherited from
Core
trait Interp[+A]
Type Params
A

return type of the accessor

Inherited from
Core
trait InterpMacro[+A]
Inherited from
InterpBundle

If no InnerTicket is found, then these implicits will search for a Scheduler, creating the reactives outside of any turn.

If no InnerTicket is found, then these implicits will search for a Scheduler, creating the reactives outside of any turn.

Inherited from
Core
Inherited from
Core
object Observe
Inherited from
Observing
trait Observe

Generic interface for observers that represent a function registered to trigger for every reevaluation of a reactive value. Currently this interface is only used to allow a removal of registered observer functions.

Generic interface for observers that represent a function registered to trigger for every reevaluation of a reactive value. Currently this interface is only used to allow a removal of registered observer functions.

Type Params
S

Struct type used for the propagation of the signal

Inherited from
Observing
Inherited from
Observing
trait ReSource

Source of (reactive) values. State can only be accessed with a correct InnerTicket.

Source of (reactive) values. State can only be accessed with a correct InnerTicket.

Inherited from
Core
abstract
class ReevTicket[V](initializer: Initializer, var _before: V)

ReevTicket is given to the Derived reevaluate method and allows to access other reactives. The ticket tracks return values, such as dependencies, the value, and if the value should be propagated. Such usages make it unsuitable as an API for the user, where StaticTicket or DynamicTicket should be used instead.

ReevTicket is given to the Derived reevaluate method and allows to access other reactives. The ticket tracks return values, such as dependencies, the value, and if the value should be propagated. Such usages make it unsuitable as an API for the user, where StaticTicket or DynamicTicket should be used instead.

Inherited from
Core
trait Result[T]
Inherited from
Core
object Scheduler
Inherited from
Core
@implicitNotFound(msg = "Could not find an implicit propagation engine. Did you forget an import?")
trait Scheduler

Propagation engine that defines the basic data-types available to the user and creates turns for propagation handling

Propagation engine that defines the basic data-types available to the user and creates turns for propagation handling

Type Params
S

Struct type that defines the spore type used to manage the reactive evaluation

Inherited from
Core
trait Signal[+T]

Time changing value derived from the dependencies.

Time changing value derived from the dependencies.

Type Params
S

Struct type used for the propagation of the signal

T

Type stored by the signal

Inherited from
SignalBundle
trait SignalCompat[+T]
Inherited from
SignalCompatBundle
class SignalImpl[T](initial: State[Pulse[T]], expr: (DynamicTicket, () => T) => T, name: ReName, isDynamicWithStaticDeps: Option[Set[ReSource]])
Value Params
isDynamicWithStaticDeps

scala.None means static dependencies only, scala.Some means dynamic with the given static ones for optimization

Inherited from
DefaultImplementations
object Signals

Functions to construct signals, you probably want to use signal expressions in rescala.interface.RescalaInterface.Signal for a nicer API.

Functions to construct signals, you probably want to use signal expressions in rescala.interface.RescalaInterface.Signal for a nicer API.

Inherited from
SignalBundle
class SimpleInitializer(afterCommitObservers: ListBuffer[Observation])
Inherited from
SimpleBundle
Inherited from
SimpleBundle
class SimpleState[V](var value: V)
Inherited from
SimpleBundle
trait Source[T]
Inherited from
Sources
sealed abstract
class StaticTicket(creation: Initializer)

User facing low level API to access values in a static context.

User facing low level API to access values in a static context.

Inherited from
Core
class UserDefinedFunction[+T, Dep, Cap](val staticDependencies: Set[Dep], val expression: Cap => T, val isStatic: Boolean)
Inherited from
SignalCompatBundle
object Util
Inherited from
SimpleBundle
class Var[A]

Source signals with imperatively updates.

Source signals with imperatively updates.

Type Params
A

Type stored by the signal

S

Struct type used for the propagation of the signal

Inherited from
Sources

Inherited types

type State[V] = SimpleState[V]
Inherited from
SimpleBundle

Value members

Concrete methods

override
Definition Classes

Inherited methods

def firstFiringEvent[B, T <: (IterableOps), Evnt <: (Event)](implicit ticket: CreationTicket): Flatten[Signal[T[Evnt[B]]], Event[B]]

Flatten a Signal[Traversable[Event[B]]] into a Event[B]. The new Event fires the value of any inner firing Event. If multiple inner Events fire, the first one in iteration order is selected.

Flatten a Signal[Traversable[Event[B]]] into a Event[B]. The new Event fires the value of any inner firing Event. If multiple inner Events fire, the first one in iteration order is selected.

Inherited from
FlattenCollectionCompat
override
def toString: String
Definition Classes
Inherited from
RescalaInterface
def traversableOfAllOccuringEventValues[B, T <: (IterableOps), Evnt <: (Event)](implicit ticket: CreationTicket): Flatten[Signal[T[Evnt[B]]], Event[T[Option[B]]]]

Flatten a Signal[Traversable[Event[B]]] into a Event[Traversable[Option[B]]] where the new Event fires whenever any of the inner events fire

Flatten a Signal[Traversable[Event[B]]] into a Event[Traversable[Option[B]]] where the new Event fires whenever any of the inner events fire

Inherited from
FlattenCollectionCompat

Implicits

Inherited implicits

implicit
def OnEv[T](e: Event[T]): OnEv[T]
Inherited from
RescalaInterface
implicit
def OnEvs[T](e: => Seq[Event[T]]): OnEvs[T]
Inherited from
RescalaInterface
implicit
def flattenImplicitForarraySignals[B : ClassTag, Sig <: (Signal)](implicit evidence$1: ClassTag[B], ticket: CreationTicket): Flatten[Signal[Array[Sig[B]]], Signal[Array[B]]]

Flatten a Signal[Array[Signal[B]]] into a Signal[Array[B]] where the new Signal updates whenever any of the inner or the outer signal updates

Flatten a Signal[Array[Signal[B]]] into a Signal[Array[B]] where the new Signal updates whenever any of the inner or the outer signal updates

Inherited from
FlattenApi
implicit
def flattenImplicitForevent[A, B, Evnt <: (Event)](implicit ticket: CreationTicket): Flatten[Signal[Evnt[B]], Event[B]]

Flatten a Signal[Event[B]]] into a Event[B] where the new Event fires whenever the current inner event fires

Flatten a Signal[Event[B]]] into a Event[B] where the new Event fires whenever the current inner event fires

Inherited from
FlattenApi
implicit
def flattenImplicitForoption[A, B](implicit ticket: CreationTicket): Flatten[Event[Option[B]], Event[B]]

Flatten a Event[Option[B]] into a Event[B] that fires whenever the inner option is defined.

Flatten a Event[Option[B]] into a Event[B] that fires whenever the inner option is defined.

Inherited from
FlattenApi
implicit
def flattenImplicitForoptionSignal[B, Sig <: (Signal)](implicit ticket: CreationTicket): Flatten[Signal[Option[Sig[B]]], Signal[Option[B]]]

Flatten a Signal[Option[Signal[B]]] into a Signal[Option[B]] where the new Signal updates whenever any of the inner or the outer signal updates

Flatten a Signal[Option[Signal[B]]] into a Signal[Option[B]] where the new Signal updates whenever any of the inner or the outer signal updates

Inherited from
FlattenApi
implicit

Flatten a Signal[Signal[B]] into a Signal[B] that changes whenever the outer or inner signal changes.

Flatten a Signal[Signal[B]] into a Signal[B] that changes whenever the outer or inner signal changes.

Inherited from
FlattenApi
implicit
def flattenImplicitFortraversableSignals[B, T <: (IterableOps), Sig <: (Signal)](implicit ticket: CreationTicket): Flatten[Signal[T[Sig[B]]], Signal[T[B]]]

Flatten a Signal[Traversable[Signal[B]]] into a Signal[Traversable[B]] where the new Signal updates whenever any of the inner or the outer signal updates

Flatten a Signal[Traversable[Signal[B]]] into a Signal[Traversable[B]] where the new Signal updates whenever any of the inner or the outer signal updates

Inherited from
FlattenCollectionCompat