Screenshot (BBC Model B, cassette version) |
|
Original author(s) | Gillian Cattell and Arthur Norman[1] |
Developer(s) | Acornsoft |
Initial release | 1982 (BBC Micro) [2], 1984 (Acorn Electron) [1] |
Development status | Discontinued |
Written in | 6502 machine language, Lisp |
Platform | BBC Micro, Acorn Electron |
Available in | English, German[3] |
Type | Lisp interpreter |
License | Proprietary |
Acornsoft LISP (marketed simply as LISP[4]) is a dialect and commercial implementation of the Lisp programming language, released in the early 1980s for the 8-bit BBC Micro and Acorn Electron computers.
Contents |
Acornsoft LISP was released on cassette, disk and ROM cartridge.[2][5][6] The ROM cartridge version has instantaneous loading as well as a greater amount of available free RAM for user definitions.[5]
In contrast with large-scale LISP implementations, Acornsoft's variant only has a modest number of built-in definitions as it has to fit in the limited memory space of the 8-bit Acorn computers.[5]
The interpreter is implemented in 6502 machine-code and is 5.5K in size. The supplied LISP workspace image containing commonly used built-in functions and constants is 3K in size, although this can be deleted if not needed by the user to free up more memory.[1]
Supported datatypes include nested lists, 16-bit signed integers and strings up to 127 characters in length. LOOP, WHILE and UNTIL keywords are available for program control.[7]
The book LISP on the BBC Microcomputer by the Acornsoft LISP developers, Gillian Cattell and Arthur Norman was sold separately from the software and contains examples illustrating use of the Acornsoft specific features such as the VDU function allowing for machine-specific graphics capabilities. The book also contains 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.[8][9]
A route-finding demo program was supplied as standard with the interpreter.[10] 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.[10]
|