rescala.core
Members list
Type members
Classlikes
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object FullAccessHandleobject accessHandler
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.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Base implementation for reactives, with Derived for scheduling, together with a ReInfo and containing a State
Base implementation for reactives, with Derived for scheduling, together with a ReInfo and containing a State
Value parameters
- info
-
the name of the reactive, useful for debugging as it often contains positional information
- state
-
the state passed by the scheduler
Attributes
- Supertypes
- Known subtypes
-
class ConcatenateDeltaSeq[T]class Evt[T]class FilterDeltaSeq[T]class IncSeq[T]class Var[A]class SubscriptionReactive[T]Show all
Enables the creation of other reactives
Enables the creation of other reactives
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
CreationTicket.type
A reactive value is something that can be reevaluated
A reactive value is something that can be reevaluated
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
trait DisconnectableImplclass ConcatenateDeltaSeq[T]trait ReactiveDeltaSeq[T]class FilterDeltaSeq[T]class IncSeq[T]class SubscriptionReactive[T]class Reactor[T]Show all
Essentially a kill switch, that will remove the reactive at some point.
Essentially a kill switch, that will remove the reactive at some point.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait DisconnectableImplclass ConcatenateDeltaSeq[T]trait ReactiveDeltaSeq[T]class FilterDeltaSeq[T]class IncSeq[T]trait Event[T]class Evt[T]trait Signal[T]class Var[A]Show all
Removes the reactive instead of its next normal reevaluation. This makes use of the fact, that all reactives are technically dynamic reactives, and removing incoming dependencies is always kinda safe, as long as we are sure we no longer care!
Removes the reactive instead of its next normal reevaluation. This makes use of the fact, that all reactives are technically dynamic reactives, and removing incoming dependencies is always kinda safe, as long as we are sure we no longer care!
Attributes
- Supertypes
- Known subtypes
-
class ConcatenateDeltaSeq[T]trait ReactiveDeltaSeq[T]class FilterDeltaSeq[T]class IncSeq[T]Show all
Provides the capability to look up transactions in the dynamic scope.
Provides the capability to look up transactions in the dynamic scope.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Scheduler[S]class FullMVEnginetrait TwoVersionScheduler[Tx]object FSchedulertrait TopoSchedulerInterfaceobject TopoSchedulerShow all
User facing low level API to access values in a dynamic context.
User facing low level API to access values in a dynamic context.
Attributes
- Supertypes
- Known subtypes
-
Encapsulates an action changing a single source.
Encapsulates an action changing a single source.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
An initializer is the glue between that binds the creation of the reactive from the operator and scheduler side together. The operator provides the logic to wrap a state and the scheduler provides the implementation of that state. This is where the two are joined. After that, the new reactive may have to be initialized.
An initializer is the glue between that binds the creation of the reactive from the operator and scheduler side together. The operator provides the logic to wrap a state and the scheduler provides the implementation of that state. This is where the two are joined. After that, the new reactive may have to be initialized.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait FullMVTurnclass FullMVTurnImpltrait LevelBasedTransactionclass ParRPTransactionclass SimpleCreationclass SidupInitializerclass TopoInitializerShow all
If no Fitting Ticket is found, then these implicits will search for a DynamicScope, creating the reactives outside of any turn.
If no Fitting Ticket is found, then these implicits will search for a DynamicScope, creating the reactives outside of any turn.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object ScopeSearch
Records side effects for later execution.
Records side effects for later execution.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait ObserveInteract
Provides names for dynamic dependencies based on their definition position to allow easier debugging
Source of (reactive) values.
Source of (reactive) values.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class ConcatenateDeltaSeq[T]class Evt[T]class FilterDeltaSeq[T]class IncSeq[T]class Var[A]class SubscriptionReactive[T]trait Derivedtrait DisconnectableImpltrait ReactiveDeltaSeq[T]class Reactor[T]trait ReadAs[A]trait MacroAccess[A]trait Event[T]trait Signal[T]trait Source[T]Show all
Common macro accessors for rescala.operator.SignalBundle.Signal and rescala.operator.EventBundle.Event
Common macro accessors for rescala.operator.SignalBundle.Signal and rescala.operator.EventBundle.Event
Type parameters
- A
-
return type of the accessor
Attributes
- Companion
- object
- Supertypes
- Known subtypes
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.
Attributes
- Supertypes
-
trait Result[V]class DynamicTicket[S]class StaticTicket[S]class Objecttrait Matchableclass AnyShow all
Result of a reevaluation
Result of a reevaluation
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
Scheduler that defines the basic data-types available to the user and creates turns for propagation handling. Note: This should NOT extend DynamicScope, but did so in the past and there are too many tests that assume so ...
Scheduler that defines the basic data-types available to the user and creates turns for propagation handling. Note: This should NOT extend DynamicScope, but did so in the past and there are too many tests that assume so ...
Attributes
- Supertypes
- Known subtypes
-
class FullMVEnginetrait TwoVersionScheduler[Tx]object FSchedulertrait TopoSchedulerInterfaceobject TopoSchedulerShow all
Attributes
- Supertypes
- Known subtypes
-
class FullMVEnginetrait TwoVersionScheduler[Tx]object FSchedulertrait TopoSchedulerInterfaceobject TopoScheduler
As reactives can be created during propagation, any Ticket can be converted to a creation ticket.
As reactives can be created during propagation, any Ticket can be converted to a creation ticket.
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass AnyShow all
- Self type
-
ScopeSearch.type
User facing low level API to access values in a static context.
User facing low level API to access values in a static context.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class DynamicTicket[State]
A transaction (or maybe transaction handle would be the better term) is available from reevaluation and admission tickets. That is, everywhere during a transaction, you can read reactives, but also create them. The reading values is core to any reactive propagation. But creating reactives using the Initializer is a liability to the scheduler, but a superpower to the operators. Its a classical tradeoff, but it would be better to not make this choice by default, that is, reactive creation should be limited such that we can experiment with schedulers that do not have this liability.
A transaction (or maybe transaction handle would be the better term) is available from reevaluation and admission tickets. That is, everywhere during a transaction, you can read reactives, but also create them. The reading values is core to any reactive propagation. But creating reactives using the Initializer is a liability to the scheduler, but a superpower to the operators. Its a classical tradeoff, but it would be better to not make this choice by default, that is, reactive creation should be limited such that we can experiment with schedulers that do not have this liability.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class TransactionHandletrait TwoVersionTransactiontrait LevelBasedTransactionclass ParRPTransactionclass SidupTransactionclass FTransactionclass TopoTransactionShow all