You could make a Lisp implementation work on them (which was done many times), but it was too slow to be useable as a practical programming model. Alan Kay said about 10 years ago that this is the reason Lisp didn’t end up being more popular among programmers. Instead of getting used to a stack machine model, the poor hardware designs ended up getting us used to a register machine model, which is still how much of the profession views “valid” computing today.
Still, I think it’s good that there is some interest in trying to build and use Lisp on these simpler platforms. It’s an educational experience.
Originally shared by mos6502 on Google+
This week, Lisp on 6502 and 6502 in Lisp – a simple elegant CPU and a simple elegant language. First off, HACKADAY wrote up Alex Clemmer and Martin Törnwall’s efforts to write and bootstrap a Lisp on their Apple II – having no serial connection or floppies, they resorted to writing the code elsewhere and loading via the cassette port. Video within, and code at github linked from the blog at
Sadly, part 2 of the article and the assembly version of Lisp haven’t surfaced yet. Meanwhile, check the comments over at HN
As it happens, there were historical Lisps for 6502 machines: we found Acornsoft’s Lisp for the BBC Micro and Electron and P-Lisp for the Apple II – quite a resurrection story on that one, see
“my P-Lisp disk was, as far as I could determine, the last extant copy on planet Earth”
As for use of Lisp, we found COMFY-65, a mid-level language implemented in Lisp, and described as “a port of Henry G. Baker’s COMFY-6502 compiler to Common Lisp.” Originally from 1976, there’s an updated paper from 1997:
Meanwhile, over at
Andy Hefner wrote a high-level assembler in LISP and programmed his NES with it.
Finally, we should mention Brit Butler who wrote a 6502 emulator in Lisp, completing the circle:
https://github.com/kingcons/cl-6502 You’ll find a link within to his presentation video and slides about why he did this and what he learnt from it.
Any more Lisp links with 6502? Yes! You’ll find more at David A. Wheeler’s 6502 Languages page: