reactives.core

package reactives.core

Members list

Type members

Classlikes

trait AccessHandler[State[_]]

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
final class AdmissionTicket[State[_]](val tx: Transaction[State], declaredWrites: Set[of[State]])

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 Object
trait Matchable
class Any
abstract class Base[V](val state: ParRPState[V], val info: ReInfo) extends ReSource

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
trait ReSource
class Object
trait Matchable
class Any
Known subtypes
class FilterDeltaSeq[T]
class IncSeq[T]
class MapDeltaSeq[T, A]
class Evt[T]
class Var[A]
class ChangeEventImpl[T]
class DerivedImpl[T]
class EventImpl[T]
class SignalImpl[T]
Show all
trait CreationScope[State[_]]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class DynamicCreationScope[State]
class StaticCreationScope[State]
object CreationScope

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
final class CreationTicket[State[_]](val scope: CreationScope[State], val info: ReInfo)

Enables the creation of other reactives

Enables the creation of other reactives

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
trait Derived extends ReSource

A reactive value is something that can be reevaluated

A reactive value is something that can be reevaluated

Attributes

Companion
object
Supertypes
trait ReSource
class Object
trait Matchable
class Any
Known subtypes
trait ReactiveDeltaSeq[T]
class FilterDeltaSeq[T]
class IncSeq[T]
class MapDeltaSeq[T, A]
class ChangeEventImpl[T]
class DerivedImpl[T]
class EventImpl[T]
class SignalImpl[T]
class Reactor[T]
Show all
object Derived

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Derived.type

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 Object
trait Matchable
class Any
Known subtypes
trait ReactiveDeltaSeq[T]
class FilterDeltaSeq[T]
class IncSeq[T]
class MapDeltaSeq[T, A]
class ChangeEventImpl[T]
class DerivedImpl[T]
class EventImpl[T]
class SignalImpl[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
trait Derived
trait ReSource
class Object
trait Matchable
class Any
Show all
Known subtypes
trait ReactiveDeltaSeq[T]
class FilterDeltaSeq[T]
class IncSeq[T]
class MapDeltaSeq[T, A]
class ChangeEventImpl[T]
class DerivedImpl[T]
class EventImpl[T]
class SignalImpl[T]
Show all
trait DynamicScope[State[_]]

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 Object
trait Matchable
class Any
Known subtypes
class DynamicScopeImpl[State, Tx]
class DynamicScopeImpl[State[_], Tx <: Transaction[State]](val scheduler: SchedulerWithDynamicScope[State, Tx]) extends DynamicScope[State]

Attributes

Supertypes
trait DynamicScope[State]
class Object
trait Matchable
class Any
abstract class DynamicTicket[State[_]](tx2: Transaction[State]) extends StaticTicket[State]

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
class StaticTicket[State]
class Object
trait Matchable
class Any
Known subtypes
class ReevTicket[State, V]
trait InitialChange[State[_]]

Encapsulates an action changing a single source.

Encapsulates an action changing a single source.

Attributes

Supertypes
class Object
trait Matchable
class Any
trait Initializer[S[_]]

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 Object
trait Matchable
class Any
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Observation

Records side effects for later execution.

Records side effects for later execution.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait PlanTransactionScope[State[_]]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class StaticInTransaction[State]

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
case class ReInfo(idCounter: Int, description: String, enclosing: String, file: String, line: Int)

Provides names for dynamic dependencies based on their definition position to allow easier debugging

Provides names for dynamic dependencies based on their definition position to allow easier debugging

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object ReInfo

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
ReInfo.type
trait ReSource

Source of (reactive) values.

Source of (reactive) values.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Base[V]
class FilterDeltaSeq[T]
class IncSeq[T]
class MapDeltaSeq[T, A]
class Evt[T]
class Var[A]
class ChangeEventImpl[T]
class DerivedImpl[T]
class EventImpl[T]
class SignalImpl[T]
trait Derived
trait ReactiveDeltaSeq[T]
class Reactor[T]
trait ReadAs[A]
trait MacroAccess[A]
trait Event[T]
trait Signal[T]
trait Source[T]
Show all
object ReSource

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
ReSource.type
trait ReadAs[+A] extends ReSource

Allows converting the internal Value of the resource to an external A meant for consumers. Generally, everything that reads a reactive, such as macros or .now, will make use of this.

Allows converting the internal Value of the resource to an external A meant for consumers. Generally, everything that reads a reactive, such as macros or .now, will make use of this.

Attributes

Companion
object
Supertypes
trait ReSource
class Object
trait Matchable
class Any
Known subtypes
trait MacroAccess[A]
class Reactor[T]
trait Event[T]
class Evt[T]
trait Signal[T]
class Var[A]
Show all
object ReadAs

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
ReadAs.type
final class ReevTicket[State[_], V](tx2: Transaction[State], var _before: V, accessHandler: AccessHandler[State]) extends DynamicTicket[State], Result[State, 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.

Attributes

Supertypes
trait Result[State, V]
class DynamicTicket[State]
class StaticTicket[State]
class Object
trait Matchable
class Any
Show all
trait Result[S[_], T]

Result of a reevaluation

Result of a reevaluation

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
class ReevTicket[State, V]
trait Scheduler[S[_]]

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

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

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait SchedulerWithDynamicScope[State, Tx]
class FullMVEngine
object FScheduler
object TopoScheduler
Show all
object Scheduler

Some apis expect an implicit scheduler for historic reasons. This guarantees they work

Some apis expect an implicit scheduler for historic reasons. This guarantees they work

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Scheduler.type
trait SchedulerWithDynamicScope[State[_], Tx <: Transaction[State]] extends Scheduler[State]

Attributes

Supertypes
trait Scheduler[State]
class Object
trait Matchable
class Any
Known subtypes
sealed abstract class StaticTicket[State[_]](val tx: Transaction[State])

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 Object
trait Matchable
class Any
Known subtypes
class DynamicTicket[State]
class ReevTicket[State, V]
object Tracing

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Tracing.type
trait Transaction[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 Object
trait Matchable
class Any
Known subtypes
case class TransactionSearch[State[_]](static: Option[Transaction[State]])

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Show all
Self type