An open API service indexing awesome lists of open source software.

https://github.com/jamesmacaulay/elm-secd

An implementation of Peter Landin's SECD machine in Elm
https://github.com/jamesmacaulay/elm-secd

Last synced: 3 months ago
JSON representation

An implementation of Peter Landin's SECD machine in Elm

Awesome Lists containing this project

README

        

# elm-secd

This is an [Elm](http://elm-lang.org/) implementation of Peter Landin's [SECD machine](https://en.wikipedia.org/wiki/SECD_machine), as described his 1964 paper [The Mechanical Evaluation of Expressions](https://www.cs.cmu.edu/afs/cs/user/crary/www/819-f09/Landin64.pdf).

You can play around with it at http://jamesmacaulay.github.io/elm-secd.

The machine itself is implemented in [SECD.elm](https://github.com/jamesmacaulay/elm-secd/blob/master/SECD.elm). I took a lot of inspiration from [this Haskell implementation](http://shift-reset.com/blog/2013/2/18/A%20Toy%20SECD%20Machine/) by Ian Price, which I found to be a big help in understanding Landin's paper.