Software:Acornsoft LISP

From HandWiki
Short description: Lisp dialect for the BBC Micro
Acornsoft LISP
Acornsoft LISP logo (Acorn Electron cartridge).png
Acornsoft LISP screenshot (BBC Micro).png
Screenshot (BBC Model B, cassette version)
Original author(s)Mike Gardner, Jeremy Bennett
Developer(s)Acornsoft
Initial release1982 (BBC Micro),[1] 1984 (Acorn Electron) [2]
Written in6502 machine language, Lisp
PlatformBBC Micro, Acorn Electron
Available inEnglish, German[3]
TypeLisp interpreter
LicenseProprietary

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 Acorn Atom, BBC Micro and Acorn Electron computers.

History

thumb|left|Loading screen (BBC Model B)

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.[citation needed]

Acornsoft LISP was released on cassette, disk and ROM cartridge.[1][5][6] The ROM cartridge version had instantaneous loading as well as a greater amount of available free RAM for user definitions.[5]

Design

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.[5]

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.[2]

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.[7]

A route-finding demo program was supplied as standard with the interpreter.[8] 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.[8]

Documentation

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.[9][10] Acornsoft LISP was reportedly the basis for MetaComCo's QL Lisp product, with Arthur Norman and John Fitch being credited as authors. As a reference, the Acornsoft book by Norman and Cattell was recommended for use with the MetaComCo product.[11]

References

  1. 1.0 1.1 "Computing History - Acorn BBC Micro Model B". The Centre for Computing History. http://www.computinghistory.org.uk/det/182/Acorn-BBC-Micro-Model-B/. Retrieved 2010-10-03. "LISP - Disk Version Acornsoft 1982" 
  2. 2.0 2.1 "LISP, Cassette (Acornsoft) Back and Inner Inlay". Acornsoft. http://8bs.com/elecgame/list_cassette.htm. Retrieved 2001-10-03. "1984: LISP (Cassette), Acornsoft, £12.95" 
  3. "LISP (German cover, Acorn Electron version)" (in German). Acornsoft. http://www.acornelectron.co.uk/covs/acornsoft_german/lc-lisp.jpg. Retrieved 2010-10-03. "Eine programmiersprache von Acornsoft" 
  4. "Optional Software Expansion". BBC Master Reference Manual Part 1. Acorn Computers. March 1986. http://microcomputer.org.uk/documents/manuals/BBC%20Master/Master_ref_1.pdf#page=12. Retrieved 2010-10-03. "LISP - an artificial intelligence problem-solving language;" 
  5. 5.0 5.1 5.2 Waddilove, Roland. "The Language That Strikes Like Lightning". Electron User (Issue 2.4). http://8bs.com/elecgame/list_cassette.htm. Retrieved 2010-10-03. 
  6. "LISP ROM fitting instructions". Acornsoft. 1983. http://bbc.nvg.org/rom/Acorn/lang/LISP-doc-SBL14.zip. Retrieved 2010-10-03. "Your LISP ROM may be placed in any spare 'sideways ROM' socket." 
  7. "A CHOICE OF PROGRAMMING LANGUAGES FOR THE BRITISH BROADCASTING CORPORATION MICROCOMPUTER SYSTEM". Acornsoft. http://acorn.chriswhy.co.uk/docs/Acorn/Brochures/Acorn_APP62_AcornsoftLanguages.pdf?page=3. 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." 
  8. 8.0 8.1 "LISP for the BBC Microcomputer Model B". Acornsoft. http://www.bbcdocs.com/filebase/software/apps/LISP_SNL02.zip. 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" 
  9. "LISP on the BBC Microcomputer (Open Library)". Internet Archive. https://openlibrary.org/works/OL192519W/LISP_on_the_BBC_Microcomputer. Retrieved 2010-10-03. "This book described the Acornsoft LISP system for the BBC Microcomputer and Acorn Electron." 
  10. Norman, Arthur; Cattell, Gillian (1983). LISP on the BBC Microcomputer. Acornsoft. ISBN 0-907876-08-0. 
  11. Denning, Adam (February 1985). "Screentest". Personal Computer World: pp. 164-165. https://archive.org/details/PersonalComputerWorld1985-02/page/164/mode/2up. 

External links