A systematic derivation of the STG machine verified in Coq
Definitional interpreters for higher-order programming languages