Value
sealed abstract class Value
Abstract values
Value = Hot | Cold | Warm | ThisRef | Fun | RefSet
Cold
┌──────► ▲ ◄──┐ ◄────┐
│ │ │ │
│ │ │ │
ThisRef(C) │ │ │ ▲ │ │ │ │ Warm(D) Fun RefSet │ ▲ ▲ ▲ │ │ │ │ Warm(C) │ │ │ ▲ │ │ │ │ │ │ │ └─────────┴──────┴───────┘ Hot
The most important ordering is the following:
Hot ⊑ Warm(C) ⊑ ThisRef(C) ⊑ Cold
The diagram above does not reflect relationship between RefSet
and other values. RefSet
represents a set of values which could
be ThisRef
, Warm
or Fun
. The following ordering applies for
RefSet:
R_a ⊑ R_b if R_a ⊆ R_b
V ⊑ R if V ∈ R