Acornsoft LISP

{{Short description|Lisp dialect for the BBC Micro}}

{{Lead too short|date=September 2023}}

{{Infobox software

| name = Acornsoft LISP

| logo = Acornsoft LISP logo (Acorn Electron cartridge).png

| screenshot = Acornsoft LISP screenshot (BBC Micro).png

| caption = Screenshot (BBC Model B, cassette version)

| author = Mike Gardner, Jeremy Bennett

| developer = Acornsoft

| released = 1982 (BBC Micro),{{cite web|url=http://www.computinghistory.org.uk/det/182/Acorn-BBC-Micro-Model-B/|title=Computing History - Acorn BBC Micro Model B|publisher=The Centre for Computing History|accessdate=2010-10-03|quote=LISP - Disk Version Acornsoft 1982|archive-url=https://web.archive.org/web/20190322233256/http://www.computinghistory.org.uk/det/182/Acorn-BBC-Micro-Model-B/|archive-date=2019-03-22|url-status=dead}} 1984 (Acorn Electron) {{cite web|url=http://8bs.com/elecgame/list_cassette.htm|title=LISP, Cassette (Acornsoft) Back and Inner Inlay|publisher=Acornsoft | accessdate = 2001-10-03 | quote = 1984: LISP (Cassette), Acornsoft, £12.95}}

| programming language = 6502 machine language, Lisp

| platform = BBC Micro, Acorn Electron

| language = English, German{{cite web|url=http://www.acornelectron.co.uk/covs/acornsoft_german/lc-lisp.jpg|title=LISP (German cover, Acorn Electron version)|quote=Eine programmiersprache von Acornsoft|language=German|publisher=Acornsoft|accessdate=2010-10-03|archive-url=https://web.archive.org/web/20110717131344/http://www.acornelectron.co.uk/covs/acornsoft_german/lc-lisp.jpg|archive-date=2011-07-17|url-status=dead}}

| genre = Lisp interpreter

| license = Proprietary

| website =

| discontinued = yes

}}

Acornsoft LISP (marketed simply as LISP{{cite web|url=http://microcomputer.org.uk/documents/manuals/BBC%20Master/Master_ref_1.pdf#page=12|title=Optional Software Expansion|work=BBC Master Reference Manual Part 1|date=March 1986|publisher=Acorn Computers|accessdate=2010-10-03|quote=LISP - an artificial intelligence problem-solving language;}}) 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

image:Acornsoft LISP loading screen (BBC Micro).png

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 | date=November 2021 | reason=Although David Johnson-Davies added this information and would surely know the inside story, none of the sources provide confirmation.}}

Acornsoft LISP was released on cassette, disk and ROM cartridge.{{cite web|url=http://bbc.nvg.org/rom/Acorn/lang/LISP-doc-SBL14.zip|title=LISP ROM fitting instructions | publisher =Acornsoft|quote=Your LISP ROM may be placed in any spare 'sideways ROM' socket.|year=1983|accessdate=2010-10-03}} The ROM cartridge version had instantaneous loading as well as a greater amount of available free RAM for user definitions.{{cite web|url=http://8bs.com/elecgame/list_cassette.htm|title=The Language That Strikes Like Lightning|first=Roland|last=Waddilove|publisher=Electron User (Issue 2.4)|accessdate=2010-10-03 }}

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.

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.{{cite web|url=http://acorn.chriswhy.co.uk/docs/Acorn/Brochures/Acorn_APP62_AcornsoftLanguages.pdf?page=3|title=A CHOICE OF PROGRAMMING LANGUAGES FOR THE BRITISH BROADCASTING CORPORATION MICROCOMPUTER SYSTEM|publisher=Acornsoft | accessdate =2010-10-03|quote=Acornsoft LISP is a fast interactive implementation of LISP containing a number of useful extensions to LISP including LOOP, WHILE and UNTIL control functions.}}

A route-finding demo program was supplied as standard with the interpreter.{{cite web|url=http://www.bbcdocs.com/filebase/software/apps/LISP_SNL02.zip|title=LISP for the BBC Microcomputer Model B|publisher=Acornsoft|accessdate=2010-10-03|quote=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|archive-url=https://web.archive.org/web/20110716154144/http://www.bbcdocs.com/filebase/software/apps/LISP_SNL02.zip|archive-date=2011-07-16|url-status=dead}} 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.

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.

{{cite web|url=https://openlibrary.org/works/OL192519W/LISP_on_the_BBC_Microcomputer|title=LISP on the BBC Microcomputer (Open Library)|publisher=Internet Archive|accessdate=2010-10-03|quote=This book described the Acornsoft LISP system for the BBC Microcomputer and Acorn Electron.}}{{cite book|last1= Norman|first1= Arthur|last2=Cattell|first2=Gillian|title=LISP on the BBC Microcomputer|publisher= Acornsoft | year = 1983 | isbn = 0-907876-08-0}} 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.{{ cite news | url=https://archive.org/details/PersonalComputerWorld1985-02/page/164/mode/2up | title=Screentest | work=Personal Computer World | date=February 1985 | access-date=6 November 2021 | last1=Denning | first1=Adam | pages=164–165 }}

References

{{reflist}}