Skip to content(if available)orjump to list(if available)

Seeking an IPL-V Interpreter

Seeking an IPL-V Interpreter

4 comments

ยทJanuary 20, 2025

(Part of) the team who recently reanimated the original ELIZA (https://news.ycombinator.com/item?id=42746506) is now working to reanimate what are often considered the first AIs -- the symbolic heuristic programs built by Newell and co at RAND in the 1950. Most of these programs were written in IPL-V, the fascinating (if ugly) machine level language for a stack machine that was the first to introduce list processing, recursion, and symbolic computing, among other innovations that we take for granted today.

There were many implementations of IPL-V. According to the manual (https://bitsavers.org/pdf/rand/ipl/Information_Processing_Language-V_Second_Edition_1964.pdf) implementations existed for at least these machines: B220, CDC 1604 and G-20, Ferranti Mercury, IBM 650, 704, 709-7090, 1620, Philco 2000, UNIVAC 1105 and 1107, and the AN/FSQ-32 (whatever that was). And we know that it was also on the IBM 360 and 7094.

If you have access to a code archive for any of these machines, and can search it for the IPL-V interpreter, we would greatly appreciate it. (A print out is fine -- preferred in fact!) We are building one ourselves in (ironically) Lisp, but it would be amazing to be able to run an original stack, as we did with the 7094->CTSS->MAD stack in reanimating ELIZA.

We (obviously) open source everything we do.

You can post here, or DM me (my email is in my "HN about"). Thanks!

retrac

There are references to the IBM 7090/7094 version under IBSYS online.

In this 7094 emulator package on Github: https://github.com/Bertoid1311/B7094 (in the zipped distribution files unfortunately) I think there is a copy that is runnable? see: Docs/Bamberger-MAMOS_docs/BAMBSYSLB1_patch_for_IPLV.txt

It describes patching the available binary to make it work, with the caveat that it's unclear if the interpreter is correct/intact (but it does run the demo programs).

On the provenance of the tape: https://retrocomputingforum.com/t/umes-resurrected-sort-of/3...

abrax3141

Yow! This is amazing! We'll check it out asap! If this sentence was a question would I have to use a question mark instead of an exclamation point?

Rochus

Why do you need the old code if you implement your own interpreter anyway? Why "(ironically) Lisp"?

abrax3141

Two good questions; Two different answers.

First, re "ironically":

Short answer: Lisp and IPL were competitors for the list&symbol-processing community of early AI. IPL convented a lot of what Lisp implemented in nicer syntax -- in effect, Lisp was an HLL for IPL. Lisp (obviously) won and now we're (ironically) emulating IPL in Lisp for of emulating Lisp's underlying machine in the HLL that sits on top of that machine. (Actually - ironically^2 - SLIP won ... see below.)

Longer answer: This whole corner of language development was fully of ironies. SLIP (Weiznebaum's approach to list processing) was a plug in for Fortran (originally) and shortly thereafter, MAD. Just as Lisp wiped out IPL, it also wiped out MAD. Ironically, today we do what Weizenbaum envisioned: Write in powerful general HLLs and add in specialized packages for things like list processing. So, in the end, SLIP won!