BasicStage

Simple stage that keeps slots as key-value pairs in built-in AA.

Could be used as is or as an example to build your own stage(s).

class BasicStage : Stage {}

Inherited Members

From Stage

slot
Slot!T slot(string name)

Lift a placeholder - slot for concrete value to be filled in at a later stage

slot
Slot!T slot(string name, Slot!T value)

Register existing slot at this _stage_ with name name

slot
Slot!T slot(Slot!T value)

Register existing slot at this _stage_ with original name

eval
auto eval(Lift!T value)

Try to evaluate (lower) lifted value using this stage

partial
auto partial(U value)

Do partial evaluation for lifted value, this folds all known-constant sub-tries and optimizes expressions

register
void register(string name, Box box)

This is an implementation hook - register must save name,typeinfo pair to check type matching later

opIndexAssign
Box opIndexAssign(Box value, string name)

This is an implementation hook - bind must check that typeinfo matches and bind value to the lifted slot

opIndex
Box opIndex(string name)

Third implementation hook - lookup bound value for a given name

Meta