trait Core extends AnyRef
- Alphabetic
- By Inheritance
- Core
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- trait AccessHandler extends AnyRef
-
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.
-
abstract
class
Base[V] extends ReSource
Base implementation for reactives, with Derived for scheduling, together with a ReName and containing a State
-
final
class
CreationTicket extends AnyRef
Enables the creation of other reactives
Enables the creation of other reactives
- Annotations
- @implicitNotFound( ... )
-
trait
Derived extends ReSource
A reactive value is something that can be reevaluated
-
trait
Disconnectable extends AnyRef
Essentially a kill switch, that will remove the reactive at some point.
-
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!
-
trait
DynamicScope extends AnyRef
Provides the capability to look up transactions in the dynamic scope.
-
abstract
class
DynamicTicket extends StaticTicket
User facing low level API to access values in a dynamic context.
-
trait
InitialChange extends AnyRef
Encapsulates an action changing a single source.
-
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.
-
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.
-
trait
Observation extends AnyRef
Records side effects for later execution.
-
trait
ReSource extends AnyRef
Source of (reactive) values.
-
trait
ReadAs[+A] extends ReSource
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
- A
return type of the accessor
-
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.
-
trait
Result[T] extends AnyRef
Result of a reevaluation
-
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 ...
- Annotations
- @implicitNotFound( ... )
- trait SchedulerImpl[Tx <: Transaction] extends DynamicScope with Scheduler
- case class ScopeSearch(self: Either[Transaction, DynamicScope]) extends Product with Serializable
-
abstract
type
State[_]
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.
-
sealed abstract
class
StaticTicket extends AnyRef
User facing low level API to access values in a static context.
-
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.
Value Members
-
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
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
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
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()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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 CreationTicket
-
object
ScopeSearch extends LowPriorityScopeImplicits with Serializable
As reactives can be created during propagation, any Ticket can be converted to a creation ticket.