trait Expr[S <: Sys[S], +A] extends Obj[S] with Publisher[S, Change[A]]
An expression is a computation that reduces to a single value of type A.
Expressions can be understood as dataflow variables. When a tree is
composed, a change in the root of the tree propagates through to the leaves
in the form of an emitted Change event that carries the old and new
value (according to the particular node of the tree).
Basic expression types are Expr.Const - it simply wraps a constant value
and thus will never change or fire an event - and Expr.Var which can be
thought of as a mutable variable carrying a peer expression. When the variable
assignment changes, the expression currently held is evaluated and propagated
as an event. Intermediate nodes or expressions might modify the value, such
as a binary operator (e.g., an integer expression that sums two input
integer expressions).
- Alphabetic
- By Inheritance
- Expr
- Obj
- Mutable
- Identifiable
- Elem
- Publisher
- Disposable
- Writable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
changed: EventLike[S, Change[A]]
- Definition Classes
- Publisher
-
abstract
def
dispose()(implicit tx: S.Tx): Unit
- Definition Classes
- Disposable
-
abstract
def
id: S.ID
- Definition Classes
- Identifiable
-
abstract
def
tpe: Type
- Definition Classes
- Obj → Elem
- abstract def value(implicit tx: S.Tx): A
-
abstract
def
write(out: DataOutput): Unit
- Definition Classes
- Writable
Concrete 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
-
final
def
attr(implicit tx: S.Tx): AttrMap[S]
- Definition Classes
- Obj
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(that: Any): Boolean
- Definition Classes
- Identifiable → AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- Identifiable → AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- Obj → AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )