I have some tabs open relating to ELIZA, mentioned recently here:
which links to
Most people who know anything about Joseph Weizenbaum’s ELIZA at the level of the program code think that it was written in Lisp and that it has been floating around since the publication of Weizenbaum’s 1966 CACM paper. However, surprisingly, the ELIZA program itself was never published, and it wasn’t written in Lisp, but in a now-obscure language called MAD-SLIP running on an IBM 7094 computer at MIT. Until now, the ELIZA source code has been missing, presumed by many to be lost, and because many alternate versions have been created over the years, the original source code remained undiscovered.
Weizenbaum’s ELIZA was intended as a general conversational agent. It interpreted a separate, domain-specific script that determined its style of conversation. The most well-known script is called “DOCTOR”. This is the one that carries on the well-known “Rogerian therapist” conversations that appear in Weizenbaum’s 1966 paper, and which are most commonly associated with the name “ELIZA.” Indeed, the name “ELIZA” has basically come to mean “the ELIZA agent running the DOCTOR script.”
and nearby we find Rupert Lanes repository:
Compile and run Joseph Weizenbaum’s original 1965 code for ELIZA on CTSS, using the s709 IBM 7094 emulator.
and also nearby the corresponding paper by Lane and others:
The high-level languages, notably Fortran and COBOL were aimed at engineering and business applications, and did not provide the AI-related functionalities of IPL, such as symbol processing, lists, and recursion. So the question naturally arose as to how to add these capabilities to those already-existing languages.
Weizenbaum created SLIP specifically to fill this void, originally as a library to be used with Fortran. On the strength of this work, Weizenbaum was invited to join Project MAC at MIT. One of the core goals of Project MAC was to demonstrate the power of the new concept of interactive time-sharing, embodied by CTSS, the “Compatible Time-Sharing System”, the world’s first interactive time-sharing system…
CTSS’s core user-level language was MAD, so Weizenbaum rebuilt SLIP for MAD, and shortly thereafter built ELIZA in MAD-SLIP on CTSS…
and later
As a result of these coincidences and an inherent interest in AI (or at least in talking with computers), the version of ELIZA that was known in the academic community was usually written in Lisp (starting with Cosell’s clone), and the version known to the public was usually written in BASIC (starting with Shrager’s knock-off). But until it was rediscovered in 2021, the original MAD-SLIP ELIZA had not been seen by anyone for at least 50 years
we also find this footnote:
To make matters even worse for the original MAD-SLIP ELIZA, the DOCTOR script, but not the MAD-SLIP code, was published in its entirety (although with errors, as described in section 7) in Weizenbaum’s 1966 paper. Both Lisp and SLIP used identical representation (called s-expressions in Lisp) to represent lists, and the DOCTOR script, being a series of lists, was represented using this syntax in the CACM paper. Anyone merely skimming that paper would not have seen any MAD-SLIP code, but would have seen the complete DOCTOR script which appeared to be a Lisp s-expression.
and also this amusing footnote:
Jeff Shrager (JS) curates a web site, ELIZAGen.org [12], dedicated to the history of ELIZA and ELIZA-like programs. In that capacity he is regularly sent new, or newly-discovered knock-offs of one or another of the ELIZA threads, usually these are knock-offs of his own BASIC ELIZA. In fact, in a coincidence too complex to untangle, Shrager’s BASIC ELIZA was re-translated into Lisp for the APPLE-][ [13], and published, without his being aware of it, as an appendix for the P-Lisp user’s manual, a manual that Shrager himself had co-authored.
and much more of interest.
See also the blog from the ELIZA archaeology team: