Acornsoft LISP

Acornsoft LISP (marketed simply as "LISP") is a dialect and commercial implementation of the Lisp programming language, released in the early 1980s for the 8-bit Acorn Atom, BBC Micro and Acorn Electron computers.
Description.
Acornsoft LISP was released on cassette, disk and ROM cartridge. The ROM cartridge version had instantaneous loading as well as a greater amount of available free RAM for user definitions.
In contrast with large-scale LISP implementations, Acornsoft's variant only had a modest number of built-in definitions as it had to fit in the limited memory space of the 8-bit Acorn computers.
The interpreter was implemented in 6502 machine-code and was 5.5K in size. It was based on Owl LISP written by Mike Gardner of Owl Computers, which he published for the Apple II in 1979. Acornsoft licensed it from Owl Computers in 1981 and developed it for the Acorn Atom and BBC Microcomputer.
The supplied LISP workspace image containing commonly used built-in functions and constants was 3K in size, although this could be deleted if not needed by the user to free up more memory.
Supported datatypes included nested lists, 16-bit signed integers and strings up to 127 characters in length. LOOP, WHILE and UNTIL keywords were available for program control.
Acornsoft also commissioned a book "LISP on the BBC Microcomputer", by Arthur Norman and Gillian Cattell, published in 1983. Arthur Norman was a lecturer in computer science at Cambridge University, and Gillian Cattell did research into LISP at Cambridge. The book was sold separately from the software and contained examples illustrating use of the Acornsoft specific features such as the "VDU" function allowing for machine-specific graphics capabilities. The book also contained working examples including a tree-sorting program, an arbitrary arithmetic package, an animal guessing game, a route finding program, a graphics package, a simple compiler and an adventure game.
Demonstration image.
A route-finding demo program was supplied as standard with the interpreter. The program can be loaded with the command codice_1 and tested by typing codice_2 which for example will display the output codice_3 thus showing the total mileage of the shortest possible route and listing intermediate towns visited.