Definitional interpreters for higher-order programming languages | Synapse