Release 4.9 of uLisp features new features and improvements in several areas:
Graphics
On most boards that include a built-in display uLisp now provides a read-pixel function that allows you to read a pixel from the display. This makes it possible to save a copy of the screen to an SD card, or design games that directly read the display. See Graphics extensions - read-pixel.
Boards with a touchscreen can use the new touchscreen function to read the coordinates of a touch on the screen. See Graphics extensions - touchscreen.
Finally, display-size returns a list giving the display width and height, making it easier to write functions that work on any display. See Graphics extensions - display-size.
Wi-Fi
The Wi-Fi extensions now automatically synchronise the board’s internal clock to the correct time and date, using an NTP server, and a new get-time function returns a list giving the time and date. See Wi-Fi extensions - get-time.
Terminal support
The uLisp built-in line editor now includes autocomplete, as provided on the PicoCalc, Cardputer, and T-Deck. Just press Tab to step through the alternative completions for a built-in symbol. See Using uLisp from a terminal - autocomplete.
When using parenthesis matching on terminals that provide VT100 emulation you can now configure the appearance of matching parentheses; see Using uLisp from a terminal - customising parenthesis matching.
Language features
uLisp now includes bind, a simplified version of the Common Lisp special form destructuring-bind, which lets you bind one or more variables to the values in a list returned by evaluating a function. See Language reference - bind.
Additional board support
The ARM version of uLisp adds support for the Adafruit PyPortal and PyPortal Pynt, based on the ATSAMD51 with an ESP32 coprocessor for Wi-Fi, and with a fast 320x240 colour display with a resistive touchscreen. See Adafruit PyPortal.
The ESP version of uLisp adds support for the M5Stack Tab5, based on the ESP32-P4 plus an ESP32-C6 coprocessor for Wi-Fi, and with a fast 1280 x 720 5" display and a touchscreen. See M5Stack Tab5.
Bug fixes
Fixed a bug in documentation (thanks @Ginkgo!).