3 ms·
The language is very small, may be interesting to write an interpreter.
by weeber 9y ago
The language is very small, may be interesting to write an interpreter.
- aap_ 9y agoI actually thought about writing a tutorial on how to write a complete "classic" LISP implementation. I know there are already hundreds of toy LISP tutorials but having LISP 1.5 as a goal and implementing it in much the same way it was implemented originally isn't something I've seen yet.
- mathattack 9y agoDoing this (for Scheme, but same concept) was the start of my programming languages class.
- throwanem 9y agoThe LISP 1.5 manual would help in such a task: http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf http://www.softwarepreservation.org/projects/LISP/book/LISP%...
- pjmlp 9y agoOr even a very dumb compiler.
- nickpsecurity 9y agoSmart thinking. See my other comment. ;)
- pjmlp 9y agoThanks, already printed it out.
- nickpsecurity 9y agoOh nice move. I'd do that but Id take out a rainforest with my collection. ;)
- torrent-of-ions 9y agoIt's fun to write an interpretor for a lisp in Common Lisp. The book Lisp in Small Pieces goes through this.
- nickpsecurity 9y agoMagnus Myreen leveraged that property when mathematically verifying one down to machine code. Used LISP 1.5. Built a bigger language (CakeML) on that. http://www.cl.cam.ac.uk/~mom22/tphols09-lisp.pdf http://www.cl.cam.ac.uk/~mom22/tphols09-lisp.pdf Note: Even if not doing formal methods, one can benefit from such work by making their interpreter equivalent in features, running the same tests/apps through both, and checking for their equivalence.