uLisp Zero - a Lisp for hackers


Today I’ve released the code for a pared-down version of uLisp, which I’ve called uLisp Zero, capable of running in 8 Kbytes of program memory with 1 Kbyte of RAM. It is intended as a starting point for anyone wanting to develop their own dialect of Lisp, design another Lisp-like language, or just understand how a Lisp interpreter works



Hi David,

Last update to uLisp Zero was on 18th May 2017, and since then there was a lot of changes to uLisp. Do you plan to update Zero?
I was thinking about implementing simple Scheme (well more like rewrite of your brilliant uLisp). But main ulisp.ino is a bit terrifying for me, so I thought about experimenting with uLisp Zero to learn how your interpreter works.
However since there was no update to Zero for 2 years now - I’m a bit lost. How relevant is it now?

Best regards,



I’ve just had a look through the last uLisp Zero Version 1.1 compared to the latest uLisp 2.7.

Most of the differences between the two sources correspond to advanced features added to uLisp which are therefore not relevant to uLisp Zero, so I think uLisp Zero is still a good starting point for your own interpreter, and I don’t see anything that needs updating.

Feel free to contact me if you have any problems.


Oh, that’s good news! :) And thank you for quick response!
I played a little with Zero today. It was not compiling without forward references for error and pfstring, and Arduino IDE was not showing Zero in Sketchbook because filename didn’t match folder name. So I fix those details, and created a pull request.