Version 3.2 of uLisp released with several major new features


A new version of uLisp has been released for AVR, ARM, ESP, and RISC-V microcontroller boards with several major new features. The main highlights are:

  • A format function for convenient formatting of printed output (all platforms).
  • Multi-dimensional arrays (32-bit platforms) for efficient data processing.
  • Graphics extensions for ARM, ESP32/8266, and RISC-V boards with suitable displays, such as the Adafruit PyBadge and PyGamer.
  • Better support for using uLisp from a serial terminal, including line editing and parenthesis matching.

The AVR version of uLisp still supports the ATmega328P on the Arduino Uno, and in addition now supports the ATmega4809-based Arduino Nano Every.

For more information about the new features see New features in uLisp 3.2.

To download it see Download uLisp.


This, of course, is AWESOME and I believe I can confidently say we are ALL deeply grateful for this! :) This has become the greatest toy EVER!

Now, only one question I got concerning my Grand Central M4 - would this be the correct way to extend the symbol table size:

#define WORKSPACESIZE 28672-3967-SDSIZE /* Objects (8*bytes) /
#define DATAFLASHSIZE 8192000 /
8 MBytes /
#define SYMBOLTABLESIZE 1024+31736 /
Bytes /
#define CODESIZE 256 /
Bytes */
#define STACKDIFF 400


Thanks for the comments! Yes, your calculations about the symbol table are correct.

Note that you may no longer need such a large symbol table because as of uLisp Version 3.1, on 32-bit platforms symbols of up to 6 characters long are packed into the cell, and don’t take up space in the symbol table.