Regular | ||||
Detailed Description
The concept Regular is the basic concept which allows for equational reasoning about code. Each of the sub-concepts which it refines are interconnected by the axioms which cannot be expressed until combined here.
- Refinement Of:
- Notation:
- Valid Expressions:
- All expressions that match the above concepts are valid.
- Expression Semantics:
- Given type
Twhich models Regular and an actionzap()which always modifies it's parameter:T a = b; assert(a == b);copies are equalT a; a = b;is equivalent toT a(b);relate copy and assignmentT a = c; T b = c; a = d; assert(b==c);copies are disjointT a = c; T b = c; zap(a); assert(b==c && a!=b);copies don't intersect
- Type(s) Modeling this Concept:
- int
- adobe::name_t
- adobe::copy_on_write
- Notes:
- See Also:
- Alex Stepanov's paper on the concept of regular types.
- Movable.

