LISP on the BBC Microcomputer [Remastered PDF]

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

LISP on the BBC Microcomputer [Remastered PDF]

Post by dv8 » Sun Sep 01, 2019 12:23 pm

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 208 times
LISP_on_the_BBC_Microcomputer.ssd
(54 KiB) Downloaded 117 times
LISP_roms.zip
(42.27 KiB) Downloaded 130 times

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)


Other remastered books you may be interested in:
FORTH on the BBC Microcomputer
Last edited by dv8 on Thu Aug 20, 2020 3:46 pm, edited 4 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 » Sun Sep 01, 2019 2:23 pm

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: 333
Joined: Mon Jun 22, 2009 10:07 pm
Contact:

Re: LISP on the BBC Microcomputer (Remastered PDF)

Post by dv8 » Sun Sep 01, 2019 2:48 pm

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: 333
Joined: Mon Jun 22, 2009 10:07 pm
Contact:

Re: LISP on the BBC Microcomputer (Remastered PDF)

Post by dv8 » Sun Sep 08, 2019 3:07 pm

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: 13
Joined: Tue Jul 03, 2007 10:40 am
Location: italy
Contact:

Re: LISP on the BBC Microcomputer [Remastered PDF]

Post by nicolagiacobbe » Sun Aug 30, 2020 11:40 am

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: 333
Joined: Mon Jun 22, 2009 10:07 pm
Contact:

Re: LISP on the BBC Microcomputer [Remastered PDF]

Post by dv8 » Sun Aug 30, 2020 12:38 pm

nicolagiacobbe wrote:
Sun Aug 30, 2020 11:40 am
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.
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 am
I 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.

Post Reply

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