An Optimizing Compiler For Lisp for The Z80 (1982)

https://dl.acm.org/doi/pdf/10.1145/800069.802158

1 Like

Interesting - only 6 pages - describing a (subset of standard) Lisp called UOLISP.

The optimizing phase is divided into two passes and features two levels of optimization and a speed or space choice. The first phase is an extended peephole optimization, the second removes function prologs and epilogs from routines which do not need stack frames. The three levels of optimization include a “safe set”, a set of speed optimizations which increase code size, and a “dangerous set” which removes some error checking.

The same author - Jed B Marti - also published a 68 page manual for Little Big LISP, also for z80. That was in 1981.

In 1983 he co-wrote a paper on The Bath Concurrent Lisp Machine which is a hexa-68k machine. (Bath University is quite close to where I live, so that’s nice!)

3 Likes

I have some additional information about this system (including some documentation, marketing materials, and a floppy disk image) here:

http://www.softwarepreservation.net/projects/LISP/standard_lisp_family/#UOLISP_

I will add a “Little Big LISP” link.

3 Likes

I archived / preserved the UOLisp disk image for the TRS-80 and donated the physical copy and the folder to the CHM in Mountain View:

Jed Marti. UO-LISP for the TRS-80. Northwest Computer Algorithms, Version 1.5b of 3 June 1982. Posted by permission of Jed Marti. David Librik purchased this copy in 1985, and gave it to Michael Wessel in 2022; Michael imaged the floppy disk, scanned the documentation, and tested the disk image on the trs80gp TRS-80 emulator.

You can see my demo here:

1 Like