Packages

o

rescala

default

object default extends RescalaInterface with Unmanaged

REScala has two main abstractions. rescala.default.Event and rescala.default.Signal commonly referred to as reactives. Use rescala.default.Var to create signal sources and rescala.default.Evt to create event sources.

Events and signals can be created from other reactives by using combinators, signals additionally can be created using rescala.default.Signal expressions.

Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. default
  2. Unmanaged
  3. NoLock
  4. Levelbased
  5. Twoversion
  6. RescalaInterface
  7. SignalCompatBundle
  8. Observing
  9. DefaultImplementations
  10. Sources
  11. FlattenApi
  12. FlattenCollectionCompat
  13. SignalBundle
  14. EventBundle
  15. EventCompatBundle
  16. InterpBundle
  17. Core
  18. AnyRef
  19. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. trait EventCompat[+T] extends (EventCompatBundle.this)#InterpMacro[Option[T]]
    Definition Classes
    EventCompatBundle
  2. trait SignalCompat[+T] extends (SignalCompatBundle.this)#InterpMacro[T]
    Definition Classes
    SignalCompatBundle
  3. class UserDefinedFunction[+T, Dep, Cap] extends AnyRef
    Definition Classes
    SignalCompatBundle
  4. trait AccessTicket extends AnyRef
    Definition Classes
    Core
  5. abstract class AdmissionTicket extends InnerTicket with AccessTicket

    Enables reading of the current value during admission.

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

    Definition Classes
    Core
  6. abstract class Base[V] extends ReSource

    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

    Definition Classes
    Core
  7. final class CreationTicket extends AnyRef

    Enables the creation of other reactives

    Enables the creation of other reactives

    Definition Classes
    Core
    Annotations
    @implicitNotFound()
  8. trait Derived extends ReSource

    A reactive value is something that can be reevaluated

    A reactive value is something that can be reevaluated

    Definition Classes
    Core
  9. trait Disconnectable extends AnyRef
    Definition Classes
    Core
  10. trait DisconnectableImpl extends Derived with Disconnectable
    Definition Classes
    Core
  11. trait DynamicInitializerLookup[ExactInitializer <: Initializer] extends Scheduler
    Definition Classes
    Core
  12. abstract class DynamicTicket extends StaticTicket

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

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

    Definition Classes
    Core
  13. trait InitialChange extends AnyRef

    Encapsulates an action changing a single source.

    Encapsulates an action changing a single source.

    Definition Classes
    Core
  14. trait Initializer extends AnyRef
    Definition Classes
    Core
  15. class InnerTicket extends AnyRef

    InnerTickets are used in Rescala to give capabilities to contexts during propagation.

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

    Definition Classes
    Core
  16. trait Interp[+A] extends ReSource

    Common macro accessors for rescala.operator.SignalBundle.Signal and rescala.operator.EventBundle.Event

    A

    return type of the accessor

    Definition Classes
    Core
  17. sealed trait LowPriorityCreationImplicits extends AnyRef

    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.

    Definition Classes
    Core
  18. trait Observation extends AnyRef
    Definition Classes
    Core
  19. trait ReSource extends AnyRef

    Source of (reactive) values.

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

    Definition Classes
    Core
  20. abstract class ReevTicket[V] extends DynamicTicket with Result[V]

    ReevTicket is given to the Derived reevaluate method and allows to access other reactives.

    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.

    Definition Classes
    Core
  21. trait Result[T] extends AnyRef
    Definition Classes
    Core
  22. trait Scheduler extends AnyRef

    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

    Definition Classes
    Core
    Annotations
    @implicitNotFound()
  23. sealed abstract class StaticTicket extends InnerTicket

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

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

    Definition Classes
    Core
  24. type State[V] = LevelState[V]
    Definition Classes
    NoLockLevelbasedTwoversionCore
  25. trait InterpMacro[+A] extends Interp[A] with MacroAccess[A, Interp[A]]
    Definition Classes
    InterpBundle
  26. class ChangeEventImpl[T] extends (DefaultImplementations.this)#Base[(Pulse[T], Pulse[Diff[T]])] with (DefaultImplementations.this)#Derived with (DefaultImplementations.this)#Event[Diff[T]] with (DefaultImplementations.this)#DisconnectableImpl
    Definition Classes
    DefaultImplementations
  27. abstract class DerivedImpl[T] extends (DefaultImplementations.this)#Base[Pulse[T]] with (DefaultImplementations.this)#Derived with (DefaultImplementations.this)#DisconnectableImpl
    Definition Classes
    DefaultImplementations
  28. class EventImpl[T] extends (DefaultImplementations.this)#DerivedImpl[T] with (DefaultImplementations.this)#Event[T]

    Definition Classes
    DefaultImplementations
  29. class SignalImpl[T] extends (DefaultImplementations.this)#DerivedImpl[T] with (DefaultImplementations.this)#Signal[T]

    Definition Classes
    DefaultImplementations
  30. trait Event[+T] extends (EventBundle.this)#ReSource with (EventBundle.this)#EventCompat[T] with (EventBundle.this)#InterpMacro[Option[T]] with (EventBundle.this)#Disconnectable

    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.

    T

    Value type of the event occurrences.

    Definition Classes
    EventBundle
  31. trait Flatten[-A, R] extends AnyRef
    Definition Classes
    FlattenApi
    Annotations
    @implicitNotFound()
  32. trait Observe extends AnyRef

    Generic interface for observers that represent a function registered to trigger for every reevaluation of a reactive value.

    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.

    Definition Classes
    Observing
  33. trait ObserveInteract extends Observation
    Definition Classes
    Observing
  34. trait Signal[+T] extends (SignalBundle.this)#Disconnectable with (SignalBundle.this)#SignalCompat[T]

    Time changing value derived from the dependencies.

    Time changing value derived from the dependencies.

    T

    Type stored by the signal

    Definition Classes
    SignalBundle
  35. class Evt[T] extends (Sources.this)#Base[Pulse[T]] with (Sources.this)#Source[T] with (Sources.this)#Event[T]

    Source events with imperative occurrences

    Source events with imperative occurrences

    T

    Type returned when the event fires

    Definition Classes
    Sources
  36. trait Source[T] extends (Sources.this)#ReSource
    Definition Classes
    Sources
  37. class Var[A] extends (Sources.this)#Base[Pulse[A]] with (Sources.this)#Source[A] with (Sources.this)#Signal[A] with (Sources.this)#Interp[A]

    Source signals with imperatively updates.

    Source signals with imperatively updates.

    A

    Type stored by the signal

    Definition Classes
    Sources
  38. trait LevelBasedTransaction extends TwoVersionTransactionImpl with Evaluator

    Further implementation of level-based propagation based on the common propagation implementation.

    Further implementation of level-based propagation based on the common propagation implementation.

    Definition Classes
    Levelbased
  39. class LevelState[V] extends TwoVersionState[V]
    Definition Classes
    Levelbased
  40. trait TwoVersionScheduler[Tx <: TwoVersionTransaction with Initializer] extends DynamicInitializerLookup[Tx]

    Implementation of the turn handling defined in the Engine trait

    Implementation of the turn handling defined in the Engine trait

    Tx

    Transaction type used by the scheduler

    Definition Classes
    Twoversion
  41. abstract class TwoVersionState[V] extends Committable[V]

    State that implements both the buffered pulse and the buffering capabilities itself.

    State that implements both the buffered pulse and the buffering capabilities itself.

    Definition Classes
    Twoversion
  42. trait TwoVersionTransaction extends AnyRef

    Abstract propagation definition that defines phases for reactive propagation through dependent reactive elements.

    Abstract propagation definition that defines phases for reactive propagation through dependent reactive elements.

    Definition Classes
    Twoversion
  43. trait TwoVersionTransactionImpl extends TwoVersionTransaction with Initializer

    Basic implementation of the most fundamental propagation steps as defined by AbstractPropagation.

    Basic implementation of the most fundamental propagation steps as defined by AbstractPropagation. Only compatible with spore definitions that store a pulse value and support graph operations.

    Definition Classes
    Twoversion

Value Members

  1. object Event

    Similar to rescala.compat.SignalCompatBundle.Signal expressions, but resulting in an event.

    Similar to rescala.compat.SignalCompatBundle.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.

    Definition Classes
    EventCompatBundle
    See also

    rescala.compat.SignalCompatBundle.Signal

  2. object Signal

    A signal expression can be used to create signals accessing arbitrary other signals.

    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}
    Definition Classes
    SignalCompatBundle
  3. object UserDefinedFunction
    Definition Classes
    SignalCompatBundle
  4. object CreationTicket extends LowPriorityCreationImplicits

    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.

    Definition Classes
    Core
  5. object Scheduler
    Definition Classes
    Core
  6. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  7. final def ##: Int
    Definition Classes
    AnyRef → Any
  8. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. final def Evt[A]()(implicit ticket: CreationTicket): Evt[A]

    Definition Classes
    Sources
  10. implicit def OnEv[T](e: Event[T]): OnEv[T]
    Definition Classes
    RescalaInterface
  11. implicit def OnEvs[T](e: => Seq[Event[T]]): OnEvs[T]
    Definition Classes
    RescalaInterface
  12. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  13. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  14. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  16. def firstFiringEvent[B, T[U] <: IterableOps[U, T, T[U]], Evnt[A1] <: Event[A1]](implicit ticket: CreationTicket): Flatten[Signal[T[Evnt[B]]], Event[B]]

    Flatten a Signal[Traversable[Event[B]\]\] into a 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.

    Definition Classes
    FlattenCollectionCompat
  17. implicit def flattenImplicitForarraySignals[B, Sig[U] <: Signal[U]](implicit arg0: 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

    Definition Classes
    FlattenApi
  18. implicit def flattenImplicitForevent[A, B, Evnt[A1] <: Event[A1]](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

    Definition Classes
    FlattenApi
  19. 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.

    Definition Classes
    FlattenApi
  20. implicit def flattenImplicitForoptionSignal[B, Sig[U] <: Signal[U]](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

    Definition Classes
    FlattenApi
  21. implicit def flattenImplicitForsignal[B](implicit ticket: CreationTicket): Flatten[Signal[Signal[B]], Signal[B]]

    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.

    Definition Classes
    FlattenApi
  22. implicit def flattenImplicitFortraversableSignals[B, T[U] <: IterableOps[U, T, T[U]], Sig[A1] <: Signal[A1]](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

    Definition Classes
    FlattenCollectionCompat
  23. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  24. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  25. implicit def implicitScheduler: Scheduler

    Definition Classes
    RescalaInterface
  26. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  27. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  28. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  29. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  30. val scheduler: Scheduler
    Definition Classes
    Unmanaged
  31. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  32. def toString(): String
    Definition Classes
    RescalaInterface → AnyRef → Any
  33. def transaction[R](initialWrites: ReSource*)(admissionPhase: (AdmissionTicket) => R): R

    Executes a transaction.

    Executes a transaction.

    R

    Result type of the admission function

    initialWrites

    All inputs that might be changed by the transaction

    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.

    returns

    Result of the admission function

    Definition Classes
    RescalaInterface
    Example:
    1. transaction(a, b){ implicit at => a.set(5); b.set(1); at.now(a) }

  34. def transactionWithWrapup[I, R](initialWrites: ReSource*)(admissionPhase: (AdmissionTicket) => I)(wrapUpPhase: (I, AccessTicket) => R): R

    Executes a transaction with WrapUpPhase.

    Executes a transaction with WrapUpPhase.

    Definition Classes
    RescalaInterface
    See also

    transaction

  35. def traversableOfAllOccuringEventValues[B, T[U] <: IterableOps[U, T, T[U]], Evnt[A1] <: Event[A1]](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

    Definition Classes
    FlattenCollectionCompat
  36. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  37. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  38. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  39. object Events
    Definition Classes
    EventBundle
  40. object Observe
    Definition Classes
    Observing
  41. 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.

    Definition Classes
    SignalBundle
  42. object Var

    Creates new Vars

    Creates new Vars

    Definition Classes
    Sources

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from Unmanaged

Inherited from NoLock

Inherited from Levelbased

Inherited from Twoversion

Inherited from RescalaInterface

Inherited from SignalCompatBundle

Inherited from Observing

Inherited from DefaultImplementations

Inherited from Sources

Inherited from FlattenApi

Inherited from SignalBundle

Inherited from EventBundle

Inherited from EventCompatBundle

Inherited from InterpBundle

Inherited from Core

Inherited from AnyRef

Inherited from Any

Create new reactives

Update multiple reactives

Advanced functions used when extending REScala

Methods and type aliases for advanced usages, these are most relevant to abstract over multiple scheduler implementations.

Ungrouped