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.
- Grouped
- Alphabetic
- By Inheritance
- default
- Unmanaged
- NoLock
- Levelbased
- Twoversion
- RescalaInterface
- Operators
- ObserveBundle
- Sources
- FlattenApi
- FlattenCollectionCompat
- SignalBundle
- SignalCompatBundle
- EventBundle
- EventCompatBundle
- ReadableMacroBundle
- DefaultImplementations
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
trait
EventCompat[+T] extends operator.Operators.ReadableMacro[State, Option[T]]
- Definition Classes
- EventCompatBundle
-
trait
SignalCompat[+T] extends operator.Operators.ReadableMacro[State, T]
- Definition Classes
- SignalCompatBundle
-
class
UserDefinedFunction[+T, Dep, Cap] extends AnyRef
- Definition Classes
- SignalCompatBundle
-
type
CreationTicket = core.CreationTicket[State]
- Definition Classes
- Operators
-
type
Derived = core.Derived { type State[V] = rescala.default.State[V] }
- Definition Classes
- Twoversion
-
type
DynamicTicket = core.DynamicTicket[State]
- Definition Classes
- Operators
-
type
ReSource = core.ReSource { type State[V] = rescala.default.State[V] }
- Definition Classes
- default → Twoversion → Operators
-
type
ScopeSearch = core.ScopeSearch[State]
- Definition Classes
- Operators
-
type
State[V] = LevelState[V]
- Definition Classes
- NoLock → Levelbased → Twoversion
-
type
StaticTicket = core.StaticTicket[State]
- Definition Classes
- Operators
-
trait
ReadableMacro[S[_], +A] extends ReadAs[S, A] with MacroAccess[A, ReadAs[S, A]]
- Definition Classes
- ReadableMacroBundle
-
class
ChangeEventImpl[T] extends Base[State, (Pulse[T], Pulse[Diff[T]])] with Derived with Operators.Event[Diff[T]] with DisconnectableImpl
- Definition Classes
- DefaultImplementations
-
abstract
class
DerivedImpl[T] extends Base[State, Pulse[T]] with Derived with DisconnectableImpl
- Definition Classes
- DefaultImplementations
-
class
EventImpl[T] extends Operators.DerivedImpl[T] with Operators.Event[T]
- Definition Classes
- DefaultImplementations
-
class
SignalImpl[T] extends Operators.DerivedImpl[T] with Operators.Signal[T]
- Definition Classes
- DefaultImplementations
-
trait
Event[+T] extends Operators.EventCompat[T] with 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
-
trait
Flatten[-A, R] extends AnyRef
- Definition Classes
- FlattenApi
- Annotations
- @implicitNotFound( ... )
-
trait
ObserveInteract extends Observation
- Definition Classes
- ObserveBundle
-
trait
Signal[+T] extends Disconnectable with Operators.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
-
class
Evt[T] extends Base[State, Pulse[T]] with Operators.Source[T] with Operators.Event[T]
Source events with imperative occurrences
Source events with imperative occurrences
- T
Type returned when the event fires
- Definition Classes
- Sources
-
trait
Source[T] extends ReSource
- Definition Classes
- Sources
-
class
Var[A] extends Base[State, Pulse[A]] with Operators.Source[A] with Operators.Signal[A]
Source signals with imperatively updates.
-
trait
LevelBasedTransaction extends TwoVersionTransactionImpl with Evaluator with Initializer
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
-
class
LevelState[V] extends TwoVersionState[V]
- Definition Classes
- Levelbased
-
trait
TwoVersionScheduler[Tx <: TwoVersionTransaction] extends SchedulerImpl[State, 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
-
abstract
class
TwoVersionState[V] extends AnyRef
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
-
sealed
trait
TwoVersionTransaction extends Transaction
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
-
trait
TwoVersionTransactionImpl extends TwoVersionTransaction
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
-
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
-
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
-
object
UserDefinedFunction
- Definition Classes
- SignalCompatBundle
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
Evt[A]()(implicit ticket: CreationTicket): Evt[A]
- Definition Classes
- Sources
-
implicit
def
OnEv[T](e: Event[T]): OnEv[T]
- Definition Classes
- RescalaInterface
-
implicit
def
OnEvs[T](e: ⇒ Seq[Event[T]]): OnEvs[T]
- Definition Classes
- RescalaInterface
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @IntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
firstFiringEvent[B, T[U] <: TraversableLike[U, T[U]], Evnt[A1] <: Event[A1]](implicit ticket: CreationTicket, cbf: CanBuildFrom[T[_], Option[B], T[Option[B]]]): 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
-
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
-
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
-
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
-
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
-
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
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
implicit
def
implicitScheduler: Scheduler[State]
- Definition Classes
- RescalaInterface
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
val
scheduler: Scheduler[State]
- Definition Classes
- Unmanaged
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- RescalaInterface → AnyRef → Any
-
def
transaction[R](initialWrites: of[State]*)(admissionPhase: (AdmissionTicket[State]) ⇒ 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
transaction(a, b){ implicit at => a.set(5); b.set(1); at.now(a) }
Example: -
def
transactionWithWrapup[I, R](iw: of[State]*)(ap: (AdmissionTicket[State]) ⇒ I)(wrapUp: (I, of[State]) ⇒ R): R
Executes a transaction with WrapUpPhase.
Executes a transaction with WrapUpPhase.
- Definition Classes
- RescalaInterface
- See also
transaction
-
def
traversableOfAllOccuringEventValues[B, T[U] <: TraversableLike[U, T[U]], Evnt[A1] <: Event[A1]](implicit ticket: CreationTicket, cbf: CanBuildFrom[T[_], Option[B], T[Option[B]]]): 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
-
implicit
def
traversableSignals[B, T[U] <: TraversableLike[U, T[U]], Sig[A1] <: Signal[A1]](implicit ticket: CreationTicket, cbf: CanBuildFrom[T[_], B, T[B]]): 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
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
object
Events
- Definition Classes
- EventBundle
-
object
Observe
observers are normale reactives that are configured by a function that converts the value of the input into an ObserveInteract
observers are normale reactives that are configured by a function that converts the value of the input into an ObserveInteract
- Definition Classes
- ObserveBundle
-
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
-
object
Var
Creates new Vars
Inherited from Unmanaged
Inherited from NoLock
Inherited from Levelbased
Inherited from Twoversion
Inherited from RescalaInterface
Inherited from Operators
Inherited from ObserveBundle
Inherited from Sources
Inherited from FlattenApi
Inherited from FlattenCollectionCompat
Inherited from SignalBundle
Inherited from SignalCompatBundle
Inherited from EventBundle
Inherited from EventCompatBundle
Inherited from ReadableMacroBundle
Inherited from DefaultImplementations
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.