New Version 4.0 for all platforms


Version 4.0 of uLisp is a major update of uLisp for all platforms that totally overhauls the way that symbols are handled. It now uses the same representation for long symbols as for strings, making the symbol table unnecessary, with the following benefits:

  • The space previously allocated to the symbol table is no longer needed, freeing up this memory to be available for the Lisp workspace.

  • Previously programs that made heavy use of long symbols could fail with a “no room for long symbols” error message, because they filled the symbol table. This can no longer happen.

  • Long symbols that are no longer used are automatically garbage-collected. For example, if you redefine a function with different local variable names, the space used by the previous names is freed up.

  • In general, programs run in less memory. For example, many of the uLisp examples that previously required a ATSAMD51 ARM M4 processor will now run on an ATSAMD21 ARM M0 processor.

  • Platforms with limited RAM, such as the Arduino Uno and Nano Every, could previously only use short symbols of up to three characters. They can now use long symbols like any other platform.

  • Short symbols of up to three alphanumeric characters on 16-bit platforms, or up to six alphanumeric characters on 32-bit platforms, are packed into the object cell, making them as memory efficient as before.

For a full technical explanation of the new implementation of symbols see Symbols.

To download the new version see Download uLisp.


Congratulations on the continuing improvements! Thanks…but…I get:

IC:\Users\PC\Documents\Arduino\WiFiScan1\WiFiScan1.ino:1:17: fatal error: ETH.h: No such file or directory
compilation terminated.
Error compiling for board Teensy 4.1.

Clearly, I am missing something?



Thanks for trying the new version!

I’ve just checked with my Teensy 4.1 board and it seems to work fine, so it may be something in your setup. A few questions;

  • What version of Teensyduino are you using?

  • Can you compile and run an Arduino demo program like Blink?

I’m a bit puzzled by the error message because I can’t think why it should want to include WiFiScan1.ino.


Thanks for the response.

Blink compiles and runs fine,.

Were do i find the version number?


P.S, we won!


In the Teensyduino title bar; eg Arduino 1.8.13.


Version 4.0a fixes a couple of minor bugs to do with error messages, and printing short symbols.