Implementing your own programming language

Start with denotational + 1 step constraint

Mutually recursive: eval and apply: apply -> eval -> apply …

Evaluate