LISP on the BBC Microcomputer [Remastered PDF]

avoid work duplication! collaborate on the archival of acorn literature!
Post Reply
User avatar
dv8
Posts: 397
Joined: Mon Jun 22, 2009 10:07 pm
Contact:

LISP on the BBC Microcomputer [Remastered PDF]

Post by dv8 »

Attached is a remastered PDF of the book LISP on the BBC Microcomputer by Arthur Norman and Gillian Cattell.

This book is the first edition from 1983 and covers LISP 2.00. It is likely there was a later release in 1984 titled "Lisp on the BBC Microcomputer and Acorn Electron" that covers LISP 5.00. If anyone has a copy of this book, or any other paperwork for LISP 5, please get in touch so I can update the PDF.

LISP_on_the_BBC_Microcomputer.pdf
(Second revision, September 2019)
(593.83 KiB) Downloaded 924 times
LISP_on_the_BBC_Microcomputer.ssd
(54 KiB) Downloaded 441 times
LISP_roms.zip
(42.27 KiB) Downloaded 506 times

Other remastered books in this series you may be interested in:

FORTH on the BBC Microcomputer
COMAL on the BBC Microcomputer
BCPL for the BBC Microcomputer


LISP 5 differences

As far as I can tell, these are the differences between LISP 2 and LISP 5:
  • The ROM is listed in *HELP
  • 'Warm or cold start' prompt on BREAK
  • Automatic relocation to high memory on second processors (47.5K free)
  • Two new functions (INKEY n) and (GENSYM)
  • Change to (ADVAL) return values
ROM images

The zip file above contains the LISP ROMs. LISP-200.rom is the 1983 release for the BBC Micro, LISP-500.rom is the 1984 release used in the Electron and Master cartridges. LISP 5 will also work on the BBC Micro.

There are two additional ROMs included. LISP-201.rom and LISP-501.rom are patched versions that allow the use of shadow screen modes on the B+ and Master. i.e. (MODE 128) through (MODE 135) is now supported.

I would recommend the use of LISP-501.rom on all machines.

Disc image

The SSD disc image contains the two patched ROMs as described above and all the demonstration programs listed in the book.

Enter the command *TYPE !INDEX (from BASIC) or (* 'TYPE! !!INDEX) (from LISP) to get an index of the files on the disc and which section of the book they relate to.

The demonstration programs are all plain text files and so need to be read into LISP using the *EXEC command. For example, to load the UTILS package enter the command (* 'EXEC! UTILS) or the abbreviated form (* 'E!.UTILS)
Last edited by dv8 on Sun Nov 29, 2020 2:39 pm, edited 6 times in total.
acorn
Posts: 56
Joined: Fri Dec 23, 2016 10:18 am
Contact:

Re: LISP on the BBC Microcomputer (Remastered PDF)

Post by acorn »

Wow. Thank you very much! It is truly amazing (including the cover graphics)! :D

Just a side note: according to everygamegoing, the Electron ROM Cartridge actually holds two roms, the other being the examples from the book: STH ROM (Serial Rom 1982)
User avatar
dv8
Posts: 397
Joined: Mon Jun 22, 2009 10:07 pm
Contact:

Re: LISP on the BBC Microcomputer (Remastered PDF)

Post by dv8 »

acorn wrote: Sun Sep 01, 2019 2:23 pm the Electron ROM Cartridge actually holds two roms, the other being the examples from the book
Yes, if you own the cartridge version the example programs can be loaded by switching to the ROM Filing System and EXECing as usual, e.g:

(* 'ROM)
(* 'EXEC! UTILS)

The serial ROM contains every program from the book except the route-finder from section 23.7.
User avatar
dv8
Posts: 397
Joined: Mon Jun 22, 2009 10:07 pm
Contact:

Re: LISP on the BBC Microcomputer (Remastered PDF)

Post by dv8 »

I've found and fixed a few errors in this book. The updated PDF is in the opening post.

Changes since revision 1 (August 2019):
  • p133 (139) CHARCOUNT : arguments wrong way round, should be (CHARCOUNT item number)
  • p143 (149) LAMDA should be LAMBDA
  • p145 (151) MAP : arguments wrong way round, should be (MAP function list), description completely wrong
    (MAP passes each item in the list to the function and discards the result)
  • p145 (151) MAPC : arguments wrong way round, should be (MAPC function list)
  • p146 (152) MAPC example : should be (MAPC '(LAMBDA (X) (TIMES 2 X)) '(1 3 4 2 0))
nicolagiacobbe
Posts: 215
Joined: Tue Jul 03, 2007 10:40 am
Location: italy
Contact:

Re: LISP on the BBC Microcomputer [Remastered PDF]

Post by nicolagiacobbe »

Thanks for the huge job. I was always intrigued by the fact that Acornsoft could shoehorn a Lisp interpreter in the memory of the beeb.
I have not yet read the book but I wonder if anybody knows with kind of GC is using?
User avatar
dv8
Posts: 397
Joined: Mon Jun 22, 2009 10:07 pm
Contact:

Re: LISP on the BBC Microcomputer [Remastered PDF]

Post by dv8 »

nicolagiacobbe wrote: Sun Aug 30, 2020 11:40 amThanks for the huge job. I was always intrigued by the fact that Acornsoft could shoehorn a Lisp interpreter in the memory of the beeb.
Thanks. I think this implementation originated on the Apple II. The ROM contains a credit to Owl Computers in 1979.
nicolagiacobbe wrote: Sun Aug 30, 2020 11:40 amI have not yet read the book but I wonder if anybody knows with kind of GC is using?
It uses a 3-phase tracing GC, mark/sweep/compact.
The process is described in chapter 21 of the book.
fuzzel
Posts: 1191
Joined: Sun Jan 02, 2005 1:16 pm
Location: Cullercoats, North Tyneside
Contact:

Re: LISP on the BBC Microcomputer [Remastered PDF]

Post by fuzzel »

Anyone wishing to learn LISP might be interested in the attached. I've just been reading a review of Acornsoft LISP by Roland Waddilove in the February 1985 Electron User. He describes LISP as very challenging to learn but once you have your "lightning principle" moment all falls into place and it's a very rewarding language to program in. What intrigued me was his recommendation of "The Little LISPer" by Daniel P Friedman (which he borrowed from his local library). I half expected an out of print copy to cost fifty odd quid upwards but a quick google search revealed a free pdf copy online.
__The_Little_LISPer___3rd_Edition.pdf
(3.92 MiB) Downloaded 209 times
User avatar
ebcdic
Posts: 10
Joined: Fri Jun 16, 2023 2:43 pm
Contact:

Re: LISP on the BBC Microcomputer [Remastered PDF]

Post by ebcdic »

dv8 wrote: Sun Sep 01, 2019 12:23 pm
LISP 5 differences

As far as I can tell, these are the differences between LISP 2 and LISP 5:
  • The ROM is listed in *HELP
  • 'Warm or cold start' prompt on BREAK
  • Automatic relocation to high memory on second processors (47.5K free)
  • Two new functions (INKEY n) and (GENSYM)
  • Change to (ADVAL) return values
Lisp 5.00 appears to be identical to Lisp 4.06 except for the insertion of 4 AND instructions to make it recognise *lisp as well as *LISP.
james
Posts: 330
Joined: Tue Aug 15, 2023 8:41 pm
Location: NE Hampshire
Contact:

Re: LISP on the BBC Microcomputer [Remastered PDF]

Post by james »

A friend, a librarian at Cambridge Uni Library, said he could find no other edition, revision or version of this book. Nor any other publication by both of these authors.

But added, Arthur Norman is a former Cambridge professor who appears to have been something of a legend http://arthurnorman.org/
dr_d_gee
Posts: 29
Joined: Thu Feb 01, 2024 6:53 pm
Contact:

Re: LISP on the BBC Microcomputer [Remastered PDF]

Post by dr_d_gee »

Arthur Norman was one of the authors of the "Norcroft" C compiler for RISC OS.
Post Reply

Return to “scanning of books, magazines, ads and letters”