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
- Host: GitHub
- URL: https://github.com/jamesmacaulay/elm-secd
- Owner: jamesmacaulay
- Created: 2016-06-02T18:45:14.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-06-06T14:24:23.000Z (almost 9 years ago)
- Last Synced: 2025-01-11T11:48:00.352Z (5 months ago)
- Language: Elm
- Homepage: http://jamesmacaulay.github.io/elm-secd
- Size: 264 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.