There are currently four released versions of uLisp. Download the correct one for your platform:
Download the latest AVR version of uLisp for the Arduino Uno, Arduino Mega 2560, and ATmega1284 platforms here:
AVR Version 2.4 - 9th October 2018
or get it from GitHub at https://github.com/technoblogy/ulisp.
Download the latest ARM version of uLisp for the Arduino Due, Arduino Zero, Arduino MKRZero, and BBC Micro Bit platforms here:
ARM Version 2.4b - 23rd September 2018
or get it from GitHub at https://github.com/technoblogy/ulisp-arm.
Download the latest ESP version of uLisp for the ESP8266 and ESP32 platforms here:
ESP Version 2.4 - 11th October 2018
or get it from GitHub at https://github.com/technoblogy/ulisp-esp.
Download the latest version of uLisp for the Energia MSP430 platforms here:
MSP430 Version 2.3 - 4th June 2018
or get it from GitHub at https://github.com/technoblogy/ulisp-msp430.
Changes in Version 2.4
The ARM version of uLisp now includes support for Adafruit's ATSAMD51-based series of boards: the Adafruit Metro M4, Adafruit ItsyBitsy M4, and Adafruit Feather M4. With 120MHz processors these are now the fastest platforms for running uLisp. For more information see Adafruit M4 boards.
The AVR version incorporates minor bug fixes.
This download is a text file. To compile it in the Arduino or Energia IDE either save it as a text file and rename it to a .cpp file, or copy and paste the text into a new empty project file.
To install uLisp on the BBC Micro Bit see BBC Micro Bit.
Note that saved images are not generally compatible between different versions of uLisp.
The uLisp sources provide the following compile options:
|checkoverflow *||enabled||Generates an error if underflow/overflow occurs in arithmetic operations.|
|resetautorun||disabled||Loads, and optionally runs, an image using load-image on reset.|
|printfreespace||enabled||Prints the number of free objects before the uLisp prompt.|
|serialmonitor||enabled||Allows the use of the serial monitor to download programs.|
|printgcs||disabled||Prints the amount of space reclaimed after each garbage collection.|
|sdcardsupport||disabled||Provides SD card support using with-sd-card.|
|lisplibrary||disabled||Evaluates the Lisp definitions provided in the Lisp Library on reset.|
* Not applicable to the versions with floating point.
See Older versions.
The following files contains test suites I use for testing each release of uLisp. You may find these useful if you are porting uLisp to another platform:
Test suite - 16-bit version (ATmega and MSP430)
Test suite - 32-bit version (ARM and ESP8266)
Test suite - Floating point (ARM and ESP8266)