Tasks to explore:
Check that it is actually equally to the published code.
Check that it can interpret itself.
Understand the language it implements and the consequences of no error checking...
MCLISP 139 > (mclisp:mccarthy-repl)
mce> (label example (lambda (foo bar) (cons (cons foo 'nil) (cons 'bar 'baz)))
((QIX) BAR . BAZ)
- C: https://nakkaya.com/2010/08/24/a-micro-manual-for-lisp-imple...
- Python: https://github.com/mario-goulart/not-the-whole-truth
- Swift: https://www.uraimo.com/2017/02/05/building-a-lisp-from-scrat...
in C: ECL compiles Common Lisp down to C or allows it to be embedded in a C program
Python: "Hy" allows to write Python with lisp syntax
On Lisp: https://www.lurklurk.org/onlisp/onlisp.pdf
The Art of the Interpeter: https://dspace.mit.edu/bitstream/handle/1721.1/6094/AIM-453....
(^ this last one is very practical. If you reach the point of wanting to implement a practical interpreter, this paper will force you to consider many unexpected cases.)
Simulating circuits with Lisp: https://mitpress.mit.edu/sites/default/files/sicp/full-text/...
My favorite part of SICP: https://mitpress.mit.edu/sites/default/files/sicp/full-text/...
War stories: http://paulgraham.com/avg.html
Lisp in Jak 'n Dexter / Crash Bandicoot: https://all-things-andy-gavin.com/2011/03/12/making-crash-ba...
Fun fact: Lisp is still used today in gamedev! Last of Us uses it heavily: https://www.youtube.com/watch?v=Ox2H3kUQByo&t=2415s
I had to know why, and came across that exact link you referenced. AG had figured out how to do a lot of preprocessing while the game boots up, obviating the need for a lengthy "Loading..." screen. Naughty Dog wrote some very impressive software, that is for sure!
What I wouldn't give to see the source... And Viaweb's source, and HN's source, and gosh there are so many amazing Lisp systems out there.
you just made my week, month, and year. I've been looking for a practical Lisp-based game design since I was a teen! Dude.
EDIT: THIS IS SO COOL http://abuse.zoy.org/browser/abuse/trunk/data/lisp/guns.lsp
Edit2: Whoops, fixed the link. I meant to link to this lisp codebase, not SICP. :)
Suffice to say, Abuse is amazing. Thanks! This is an absolute gem of a reference for seeing what worked in practice for Lisp-based gamedev. And in 1995 too!
& early version of reddit:
Besides code I'd also wish for accompanying code reviews and deep dives, like Fabien does for game engines, though for smaller things the code is usually just fine to just dive in and explore.
Thanks for the inspirational links!