trait Expr[T <: Txn[T], +A] extends ExprLike[T, A] with Obj[T] with Publisher[T, Change[A]]
An expression is a computation that reduces to a single value of type A
.
Expressions can be understood as data-flow 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
- Identified
- Elem
- Publisher
- Disposable
- Writable
- ExprLike
- Form
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def changed: EventLike[T, Change[A]]
- Definition Classes
- Publisher
- abstract def dispose()(implicit tx: T): Unit
- Definition Classes
- Disposable
- abstract def id: Ident[T]
- Definition Classes
- Identified
- abstract def tpe: Type
- abstract def value(implicit tx: T): A
- Definition Classes
- ExprLike
- 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: T): AttrMap[T]
- Definition Classes
- Obj
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(that: Any): Boolean
- Definition Classes
- Identified → AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- Identified → 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
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- Obj → AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated