Packages

trait ParRP extends Levelbased

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ParRP
  2. Levelbased
  3. Twoversion
  4. Core
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. trait AccessHandler extends AnyRef
    Definition Classes
    Core
  2. 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
  3. 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
  4. final class CreationTicket extends AnyRef

    Enables the creation of other reactives

    Enables the creation of other reactives

    Definition Classes
    Core
    Annotations
    @implicitNotFound()
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. trait InitialChange extends AnyRef

    Encapsulates an action changing a single source.

    Encapsulates an action changing a single source.

    Definition Classes
    Core
  11. 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
  12. 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
  13. trait Observation extends AnyRef

    Records side effects for later execution.

    Records side effects for later execution.

    Definition Classes
    Core
  14. trait ReSource extends AnyRef

    Source of (reactive) values.

    Source of (reactive) values.

    Definition Classes
    Core
  15. 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
  16. 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
  17. trait Result[T] extends AnyRef

    Result of a reevaluation

    Result of a reevaluation

    Definition Classes
    Core
  18. 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()
  19. trait SchedulerImpl[Tx <: Transaction] extends DynamicScope with Scheduler
    Definition Classes
    Core
  20. case class ScopeSearch(self: Either[Transaction, DynamicScope]) extends Product with Serializable
    Definition Classes
    Core
  21. 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
  22. 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
  23. trait ParRPInterTurn extends AnyRef
  24. class ParRPState[V] extends LevelState[V]
  25. class ParRPTransaction extends LevelBasedTransaction with ParRPInterTurn
  26. type State[V] = ParRPState[V]

    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
    ParRPLevelbasedTwoversionCore
  27. 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
  28. class LevelState[V] extends TwoVersionState[V]
    Definition Classes
    Levelbased
  29. trait TwoVersionScheduler[Tx <: TwoVersionTransaction] extends SchedulerImpl[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
  30. 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
  31. 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
  32. 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

  1. object CreationTicket
    Definition Classes
    Core
  2. 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
  3. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def ##: Int
    Definition Classes
    AnyRef → Any
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  16. def parrpWithBackoff(backOff: () => Backoff): Scheduler
  17. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  18. def toString(): String
    Definition Classes
    AnyRef → Any
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

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

Inherited from Levelbased

Inherited from Twoversion

Inherited from Core

Inherited from AnyRef

Inherited from Any

Ungrouped