Semantics
Consider a typed programming language where we divide the
constructors into three colours:
- Value constructors,
which can be copied or discarded,
such as 0, succ,
true, cons.
- Central constructors,
which cannot be copied or discarded,
such as ref or
rand.
- Process constructors,
where order of evaluation is important,
such as := or
print.
We have seen example flow graphs for such a language, but
what structures are necessary to give it a semantics?