Packages

object default extends FullMVApi

Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. default
  2. FullMVApi
  3. SubsumableLockBundle
  4. FullMvStateBundle
  5. TaskBundle
  6. TurnImplBundle
  7. Mirror
  8. FullMVBundle
  9. RescalaInterface
  10. Operators
  11. ObserveBundle
  12. Sources
  13. FlattenApi
  14. FlattenCollectionCompat
  15. SignalBundle
  16. SignalCompatBundle
  17. EventBundle
  18. EventCompatBundle
  19. ReadableMacroBundle
  20. Core
  21. DefaultImplementations
  22. AnyRef
  23. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. trait EventCompat[+T] extends operator.Operators.ReadableMacro[Option[T]]
    Definition Classes
    EventCompatBundle
  2. trait SignalCompat[+T] extends operator.Operators.ReadableMacro[T]
    Definition Classes
    SignalCompatBundle
  3. class UserDefinedFunction[+T, Dep, Cap] extends AnyRef
    Definition Classes
    SignalCompatBundle
  4. trait AccessHandler extends AnyRef
    Definition Classes
    Core
  5. final class AdmissionTicket extends AnyRef

    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

    Essentially a kill switch, that will remove the reactive at some point.

    Essentially a kill switch, that will remove the reactive at some point.

    Definition Classes
    Core
  10. trait DisconnectableImpl extends Derived with Disconnectable

    Removes the reactive instead of its next normal reevaluation.

    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!

    Definition Classes
    Core
  11. trait DynamicScope extends AnyRef

    Provides the capability to look up transactions in the dynamic scope.

    Provides the capability to look up transactions in the dynamic scope.

    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

    An initializer is the glue between that binds the creation of the reactive from the operator and scheduler side together.

    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.

    Definition Classes
    Core
  15. sealed trait LowPriorityScopeImplicits extends AnyRef

    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.

    Definition Classes
    Core
  16. trait Observation extends AnyRef

    Records side effects for later execution.

    Records side effects for later execution.

    Definition Classes
    Core
  17. trait ReSource extends AnyRef

    Source of (reactive) values.

    Source of (reactive) values.

    Definition Classes
    Core
  18. trait ReadAs[+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
  19. final 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
  20. trait Result[T] extends AnyRef

    Result of a reevaluation

    Result of a reevaluation

    Definition Classes
    Core
  21. trait Scheduler extends DynamicScope

    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. Note: This should NOT extend DynamicScope, but did so in the past and there are too many tests that assume so ...

    Definition Classes
    Core
    Annotations
    @implicitNotFound()
  22. trait SchedulerImpl[Tx <: Transaction] extends DynamicScope with Scheduler
    Definition Classes
    Core
  23. case class ScopeSearch(self: Either[Transaction, DynamicScope]) extends Product with Serializable
    Definition Classes
    Core
  24. sealed abstract class StaticTicket extends AnyRef

    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
  25. trait Transaction extends AnyRef

    A transaction (or maybe transaction handle would be the better term) is available from reevaluation and admission tickets.

    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.

    Definition Classes
    Core
  26. class FullMVEngine extends (FullMVBundle.this)#SchedulerImpl[(FullMVBundle.this)#TransactionHandle] with (FullMVBundle.this)#FullMVTurnHost with HostImpl[(FullMVBundle.this)#FullMVTurn]
    Definition Classes
    FullMVBundle
  27. trait FullMVState[V, T <: (FullMVBundle.this)#FullMVTurn, Reactive, OutDep] extends AnyRef
    Definition Classes
    FullMVBundle
  28. trait FullMVTurn extends (FullMVBundle.this)#Initializer with (FullMVBundle.this)#FullMVTurnProxy with SubsumableLockEntryPoint with Hosted[(FullMVBundle.this)#FullMVTurn]
    Definition Classes
    FullMVBundle
  29. case class TransactionHandle(ti: (FullMVBundle.this)#FullMVTurn) extends (FullMVBundle.this)#Transaction with Product with Serializable
    Definition Classes
    FullMVBundle
  30. type State[V] = FullMVState[V, FullMVTurn, ReSource, Derived]

    In case you wondered why everything in REScala is in these weird bundle traits, this is why.

    In case you wondered why everything in REScala is in these weird bundle traits, this is why. The ReSource below depends on some abstract state, which is defined by the concrete scheduler implementations. As basically everything else references ReSources, everything must be bundled together. This is good for users, because they get strong guarantees about the used correctness, and the API is still OK. Its terrible for us, because the Scala Incremental compiler does not really work anymore.

    Definition Classes
    FullMVBundleCore
  31. class NonblockingSkipListVersionHistory[V, T <: (FullMvStateBundle.this)#FullMVTurn, InDep, OutDep] extends (FullMvStateBundle.this)#FullMVState[V, T, InDep, OutDep]

    A node version history datastructure

    A node version history datastructure

    V

    the type of stored values

    T

    the type of transactions

    InDep

    the type of incoming dependency nodes

    OutDep

    the type of outgoing dependency nodes

    Definition Classes
    FullMvStateBundle
  32. class FullMVTurnImpl extends (TurnImplBundle.this)#FullMVTurn
    Definition Classes
    TurnImplBundle
  33. trait FullMVTurnHost extends Host[(Mirror.this)#FullMVTurn]
    Definition Classes
    Mirror
  34. trait FullMVTurnPhaseReflectionProxy extends AnyRef
    Definition Classes
    Mirror
  35. trait FullMVTurnPredecessorReflectionProxy extends AnyRef
    Definition Classes
    Mirror
  36. trait FullMVTurnProxy extends AnyRef
    Definition Classes
    Mirror
  37. trait ReactiveReflectionProxy[-P] extends AnyRef
    Definition Classes
    Mirror
  38. class SubsumableLockHostImpl extends SubsumableLockHost with HostImpl[SubsumableLock]
    Definition Classes
    SubsumableLockBundle
  39. class SubsumableLockImpl extends SubsumableLock
    Definition Classes
    SubsumableLockBundle
  40. class Framing extends RecursiveAction with (TaskBundle.this)#FramingTask
    Definition Classes
    TaskBundle
  41. trait FramingTask extends RecursiveAction with (TaskBundle.this)#FullMVAction
    Definition Classes
    TaskBundle
  42. trait FullMVAction extends RecursiveAction
    Definition Classes
    TaskBundle
  43. class Notification extends RecursiveAction with (TaskBundle.this)#NotificationAction[(TaskBundle.this)#Derived] with (TaskBundle.this)#RegularReevaluationHandling
    Definition Classes
    TaskBundle
  44. trait NotificationAction[N <: (TaskBundle.this)#ReSource] extends RecursiveAction with (TaskBundle.this)#ReevaluationHandling[N]
    Definition Classes
    TaskBundle
  45. class NotificationWithFollowFrame extends RecursiveAction with (TaskBundle.this)#NotificationAction[(TaskBundle.this)#Derived] with (TaskBundle.this)#RegularReevaluationHandling
    Definition Classes
    TaskBundle
  46. class Reevaluation extends RecursiveAction with (TaskBundle.this)#RegularReevaluationHandling
    Definition Classes
    TaskBundle
  47. trait ReevaluationHandling[N <: (TaskBundle.this)#ReSource] extends RecursiveAction with (TaskBundle.this)#FullMVAction
    Definition Classes
    TaskBundle
  48. trait RegularReevaluationHandling extends RecursiveAction with (TaskBundle.this)#ReevaluationHandling[(TaskBundle.this)#Derived]
    Definition Classes
    TaskBundle
  49. class SourceNotification extends RecursiveAction with (TaskBundle.this)#NotificationAction[(TaskBundle.this)#ReSource] with (TaskBundle.this)#SourceReevaluationHandling
    Definition Classes
    TaskBundle
  50. class SourceReevaluation extends RecursiveAction with (TaskBundle.this)#SourceReevaluationHandling
    Definition Classes
    TaskBundle
  51. trait SourceReevaluationHandling extends RecursiveAction with (TaskBundle.this)#ReevaluationHandling[(TaskBundle.this)#ReSource]
    Definition Classes
    TaskBundle
  52. class SupersedeFraming extends RecursiveAction with (TaskBundle.this)#FramingTask
    Definition Classes
    TaskBundle
  53. trait ReadableMacro[+A] extends ReadAs[A] with MacroAccess[A, ReadAs[A]]
    Definition Classes
    ReadableMacroBundle
  54. class ChangeEventImpl[T] extends Operators.Base[(Pulse[T], Pulse[Diff[T]])] with Operators.Derived with Operators.Event[Diff[T]] with Operators.DisconnectableImpl
    Definition Classes
    DefaultImplementations
  55. abstract class DerivedImpl[T] extends Operators.Base[Pulse[T]] with Operators.Derived with Operators.DisconnectableImpl
    Definition Classes
    DefaultImplementations
  56. class EventImpl[T] extends Operators.DerivedImpl[T] with Operators.Event[T]

    Definition Classes
    DefaultImplementations
  57. class SignalImpl[T] extends Operators.DerivedImpl[T] with Operators.Signal[T]

    Definition Classes
    DefaultImplementations
  58. trait Event[+T] extends Operators.EventCompat[T] with Operators.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
  59. trait Flatten[-A, R] extends AnyRef
    Definition Classes
    FlattenApi
    Annotations
    @implicitNotFound()
  60. trait ObserveInteract extends Observation
    Definition Classes
    ObserveBundle
  61. trait Signal[+T] extends Operators.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
  62. class Evt[T] extends Operators.Base[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
  63. trait Source[T] extends Operators.ReSource
    Definition Classes
    Sources
  64. class Var[A] extends Operators.Base[Pulse[A]] with Operators.Source[A] with Operators.Signal[A] with Operators.ReadAs[A]

    Source signals with imperatively updates.

    Source signals with imperatively updates.

    A

    Type stored by the signal

    Definition Classes
    Sources

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
    Definition Classes
    Core
  5. object ScopeSearch extends LowPriorityScopeImplicits with Serializable

    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.

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

    Definition Classes
    Sources
  11. implicit def OnEv[T](e: Event[T]): OnEv[T]
    Definition Classes
    RescalaInterface
  12. implicit def OnEvs[T](e: => Seq[Event[T]]): OnEvs[T]
    Definition Classes
    RescalaInterface
  13. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  14. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  15. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  25. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  26. implicit def implicitScheduler: Scheduler

    Definition Classes
    RescalaInterface
  27. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  28. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  29. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  30. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  31. val scheduler: FullMVEngine

    Definition Classes
    FullMVApiRescalaInterface
  32. val schedulerName: String
    Definition Classes
    FullMVApi
  33. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  34. val timeout: Duration
    Definition Classes
    FullMVApi
  35. def toString(): String
    Definition Classes
    RescalaInterface → AnyRef → Any
  36. 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) }

  37. def transactionWithWrapup[I, R](iw: ReSource*)(ap: (AdmissionTicket) => I)(wrapUp: (I, Transaction) => R): R

    Executes a transaction with WrapUpPhase.

    Executes a transaction with WrapUpPhase.

    Definition Classes
    RescalaInterface
    See also

    transaction

  38. 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
  39. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  40. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  41. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  42. object NonblockingSkipListVersionHistory
    Definition Classes
    FullMvStateBundle
  43. object FullMVTurnImpl
    Definition Classes
    TurnImplBundle
  44. object SerializationGraphTracking
    Definition Classes
    TurnImplBundle
  45. object SubsumableLock
    Definition Classes
    SubsumableLockBundle
  46. object Events
    Definition Classes
    EventBundle
  47. 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
  48. 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
  49. 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 FullMVApi

Inherited from SubsumableLockBundle

Inherited from FullMvStateBundle

Inherited from TaskBundle

Inherited from TurnImplBundle

Inherited from Mirror

Inherited from FullMVBundle

Inherited from RescalaInterface

Inherited from Operators

Inherited from ObserveBundle

Inherited from Sources

Inherited from FlattenApi

Inherited from SignalBundle

Inherited from SignalCompatBundle

Inherited from EventBundle

Inherited from EventCompatBundle

Inherited from ReadableMacroBundle

Inherited from Core

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.

Ungrouped