One of the first example programs I wrote to test uLisp was the Infinite Precision Arithmetic package, which allowed you to calculate in uLisp with large numbers, beyond the precision of integers on the platform and limited only by the amount of workspace; hence “infinite”. The original version dates back to 2016.
One of the aims of the package was to keep it simple and understandable, so users could extend it with additional functions. Also, it was designed to work on platforms with either 16-bit or 32-bit integers, allowing it to run on every platform, including AVR.
The original version only supported addition and multiplication. I’ve often thought of creating an update adding support for division, which would extend it to applications such as factorising large integers, or calculating the digits of π, and so here it is, together with some additional examples to demonstrate these extensions: