Screenshot (BBC Model B, cassette version)
|Original author(s)||Mike Gardner, Jeremy Bennett|
|Initial release||1982 (BBC Micro), 1984 (Acorn Electron) |
|Written in||6502 machine language, Lisp|
|Platform||BBC Micro, Acorn Electron|
|Available in||English, German|
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.
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.
A route-finding demo program was supplied as standard with the interpreter. The program can be loaded with the command
(LOAD 'ROUTE-M) and tested by typing
(ROUTE-M 'OXFORD 'CAMBRIDGE) which for example will display the output
(85 CAMBRIDGE BEDFORD WATFORD OXFORD) thus showing the total mileage of the shortest possible route and listing intermediate towns visited.
"LISP, Cassette (Acornsoft) Back and Inner Inlay". Acornsoft. Retrieved 2001-10-03.
1984: LISP (Cassette), Acornsoft, £12.95
"Computing History - Acorn BBC Micro Model B". The Centre for Computing History. Retrieved 2010-10-03.
LISP - Disk Version Acornsoft 1982
"LISP (German cover, Acorn Electron version)" (in German). Acornsoft. Retrieved 2010-10-03.
Eine programmiersprache von Acornsoft
"Optional Software Expansion" (PDF). BBC Master Reference Manual Part 1. Acorn Computers. March 1986. Retrieved 2010-10-03.
LISP - an artificial intelligence problem-solving language;
Waddilove, Roland. "The Language That Strikes Like Lightning". Electron User (Issue 2.4). Retrieved 2010-10-03.
Acornsoft's variant is available on cassette or ROM cartridge.
- "LISP ROM fitting instructions". Acornsoft. 1983. Retrieved 2010-10-03.
Your LISP ROM may be placed in any spare 'sideways ROM' socket.
"A CHOICE OF PROGRAMMING LANGUAGES FOR THE BRITISH BROADCASTING CORPORATION MICROCOMPUTER SYSTEM" (PDF). Acornsoft. Retrieved 2010-10-03.
Acornsoft LISP is a fast interactive implementation of LISP containing a number of useful extensions to LISP including LOOP, WHILE and UNTIL control functions.
"LISP on the BBC Microcomputer (Open Library)". Internet Archive. Retrieved 2010-10-03.
This book described the Acornsoft LISP system for the BBC Microcomputer and Acorn Electron.
- Norman, Arthur; Cattell, Gillian (1983). LISP on the BBC Microcomputer. Acornsoft. ISBN 0-907876-08-0.
"LISP for the BBC Microcomputer Model B". Acornsoft. Retrieved 2010-10-03.
To load the demonstration image, which contains a LISP program to work out the best route between towns on a map, enter (LOAD 'ROUTE-M) from within LISP