This is an Elm implementation of Peter Landin's SECD machine, as described his 1964 paper The Mechanical Evaluation of Expressions.
You can play around with it at http://jamesmacaulay.github.io/elm-secd.
The machine itself is implemented in SECD.elm. I took a lot of inspiration from this Haskell implementation by Ian Price, which I found to be a big help in understanding Landin's paper.