HP Common LISP on the HP 9000/400
A while back I found an article in the HP Journal from March 1986 titled “An Introduction to Hewlett-Packard’s AI Workstation Technology”. Exactly forty years on, it seemed appropriate to dabble a bit in what constituted AI workstation software back then.
In the early days of AI, LISP was the language of choice and ran on a broad class of machines known as LISP Machines. Early LISP machines were purpose built and often used custom CPUs, but later versions of LISP migrated to being run on more general purpose workstations, including Motorola 68k based ones such as HP’s 9000 series.
I set out to find any software or documentation that was still available expecting the answer to be unsatisfying, but it appears bitsavers does have these in the archive (albeit, not well labeled). To start, the Common LISP user’s guide is here.
Tracking down the tape(!) itself was a little more difficult. Bitsavers has a rather large archive of 9000/300 tapes, and to make a long story short the part number I used was 98688-10037rA.04.00_devEnv.bin.gz which contains the Common LISP development environment.
To install, I then:
- Unzipped the file while keeping it as a single tar
gunzip 98688-10037rA.04.00_devEnv.bin.gz > common_lisp.tar - Transfered this over to the HP 9000 via FTP.
- Ran
tar -xvf common_lisp.tarto extract. If you extract at the root, it will copy files to the appropriate directories automatically.
Running the LISP Dev Environment
Once the tarball is extracted, there’s not much to lead you to using the LISP interpreter or development environment. You want to run
/usr/lib/lisp/lisp_dev/lisp-de
Once you do, you’ll see something like the below which you can use as a common LISP interpreter:
Observations
While I haven’t written much LISP since college (technically Scheme, in my case), I spent some time working with the interpreter. Trivial functions such as the recursion example shown in the screenshot were no problem to put together. Trying items such as the Y combinator led me to unexpected errors – but I expect you’d have the same results asking me to write C’89!
A large number of examples are provided in the tarball and extracted to the system on install, but peering more deeply into aged LISP syntax is left as an exercise to the reader.