Glossary

The names “Medley,” “Interlisp-D,” “Interlisp.org,” “Common Lisp,” etc. are often used in confusing ways. We’re talking about a lot of different things that evolved over decades. These are cemented in by usage in different publications over time. We hope this glossary of terms will help.

For general computer terminology and lore see The Hacker’s Dictionary aka Jargon File.

Vocabulary and relationships

Advice (Advising)
A facility for modifying an existing function without editing its definition by wrapping it with code that runs before or after the function and can inspect or change its arguments or return value. Advice can be added to and removed from a function independently, so a programmer can instrument or adapt code temporarily and leave the original definition intact. Also called advising.
AltoLisp
An experimental microcoded implementation of Interlisp on an Alto personal computer.
Break package
The Interlisp subsystem that comprises the debugger (also known as break window) and other debugging facilities. Named after the BREAK function and breakpoints.
Briefing Blurb
One of the several documents that introduced Xerox PARC newcomers to the computing and network environment of the Computer Science Laboratory. Written in an upbeat style, their titles followed a pattern that included the expression “Briefing Blurb” such as The Alto-Dolphin-Dorado Briefing Blurb: Exploring the Ethernet with Mouse and Keyboard and The Briefing Blurb: Exploring the Ethernet with Mouse and Keyboard.
Carol, Fugue, Harmony, Intermezzo, Koto, Lyric, Medley
Named releases of Interlisp-D. All are obsolete except Medley.
Common Lisp
The subject of a 10-year standards process to converge multiple dialects of the Lisp language. Strong influences from many Lisp dialects, including Interlisp.
Common Lisp the Language
Book by Guy Steele with two editions:
  • CLtL1 – edition 1, 465 pages
  • CLtL2 – second edition, 1029 pages
Common Lisp dpANS
The ANSI Standard for Common Lisp.

Starting with the Lyric release of Interlisp-D and then the Medley release, the implementation of Medley included implementations of Common Lisp (CLtL 1) as well as the Interlisp dialect in a single development environment; this was made possible by using the (Common Lisp) “package” feature to allow both dialects to be intermixed.

Dfasl
A compiled form of Medley Interlisp files with the extension “.dfasl”.
Display
Denotes a program or system with a Graphical User Interface or a full screen character interface, as opposed to a line oriented interface like a teletype. In expressions like “display oriented editor” or “display editor”.
DLISP
By Warren Teitelman: a first attempt at building a “Display” (GUI) with Interlisp running on MAXC (a PDP-10 clone) connected by Ethernet to a Xerox Alto acting as a graphics terminal.
Dorado Lisp
The reimplementation of the AltoLisp microcode on the Dorado – a research prototype.
DWIM
Do-What-I-Mean. An Interlisp error-recovery facility that intercepts errors such as undefined functions, unset variables, and misspellings, using heuristics and context-sensitive spelling lists to suggest or apply corrections and continue execution. When a correction is uncertain, DWIM can ask the user to approve it; when the user is away, it can apply a default after a delay. DWIM can also repair some structural errors, such as a number typed in place of a parenthesis, so the computation can proceed without restarting.
Fugue
An obsolete named release of Interlisp-D.
Harmony
An obsolete named release of Interlisp-D.
History package
An Interlisp facility that records the commands and expressions entered during a session, together with messages displayed during their execution, so they can be reviewed, replayed with substitutions, or undone. Each recorded event also keeps the information needed to reverse its side effects, which makes the history list the basis for UNDO. The history can be searched and selectively replayed, so a user can reuse or correct an earlier operation without retyping it.
Intermezzo
An obsolete named release of Interlisp-D.
Interlisp
Both a language and, in some cases, the implementation of that language. Usually used with some other wording or refinement.
A GitHub “organization” with ~20 repositories, see https://github.com/Interlisp
Interlisp: The Language and its usage
A book by Steve Kaisler which describes Interlisp of the 1970s & 80s.
Interlisp.org
The project’s Internet domain name, used for its websites and email addresses.
Interlisp-10
The first implementation of Interlisp for the Digital Equipment Corporation (DEC) PDP-10 / Tenex.
Interlisp-360
Implemention of Interlisp for the IBM-360.
Interlisp-D
What Dorado Lisp became. The D stood for both “Display” and “D-machine”. An implementation of
  • Interlisp the language
  • The Interlisp programming tools
  • A Graphical User interface to Interlisp programming development
  • A large number of tools, utilities, games, screen-savers
  • A Lisp-based operating system for D-machines which, when coupled with microcode implementation of a Virtual Machine, allowed the D-machines to operate as a personal workstation. Each D-machine had its own microcode with different configurations and micro-instructions.
Interlisp-VAX
Implementation of Interlisp for Digital Equipment Corporation VAX systems.
Koto
An obsolete named release of Interlisp-D.
Lcom
Used as a file ending, xxx.lcom, for compiled Medley files.
Lyric
An obsolete named release of Interlisp-D.
Medley
The final named release of Interlisp-D.
Medley 1.0, Medley 2.01, Medley 3.5 numbered releases of Interlisp-D
At some point the name Interlisp-D was retired and Medley used to name the software.
Maiko
An implementation of the functions of the D-machine microcode, but written in C for the Sun Microsystems SPARC processor workstation, initially developed by Fuji Xerox. Subsequently ported to little-endian processors and other operating systems.
Package
The term Package has several different meanings depending on the context:
  • Informally, a collection of utilities or submodule in Interlisp (the “break package”, q.v.; the “file package”, a facility for managing code changes; the “record package”, a record data type; and so on)
  • A feature of Commmon Lisp symbol support; the package system allows the combining of Interlisp symbols (written with IL: prefix) and Common Lisp symbols (written with a LISP: prefix).
Prettyprint
A Lisp utility that prints programs with indentation and line breaks that reflect their list structure, making code easier to read and debug. Because Lisp programs are lists, a prettyprinter can lay out nested expressions according to their depth and width instead of printing them as one long line. It is used both to display code and to produce readable listings or files.
SDL
Structured Design Language.
Spaghetti stack
An Interlisp execution stack that remains available as a structured list rather than a contiguous array, so each frame can still be reached through the list structure. This lets programs and debugging tools search frames, inspect values in caller contexts, and perform non-local returns. Because the stack can be traversed and its frames examined, it supports debugging, error recovery, and control operations that would be difficult with a conventional call stack.
Structure editor
An editor that operates directly on a program’s list structure rather than its printed text. Because Lisp programs are lists, commands can move through and modify a function’s tree in place without leaving Lisp. Editing commands select list elements, descend into sublists, and insert, delete, or replace structures, so the edit changes the program itself rather than a separate text file. This allows a running program to be inspected, modified, and re-evaluated in the same environment.
Sysout
A file containing the saved state of Interlisp virtual memory.
Trace
A Lisp debugging facility that redefines a function so that selected information, by default its arguments and return value, is printed when the function is entered and exited. Tracing can be applied to one function or several and remains in effect until the function is untraced. It gives a running account of calls and results without requiring the programmer to stop the program or insert print statements by hand.
UNDO
A command in the Interlisp Programmer’s Assistant that reverses the side effects of operations recorded on its history list. It supports selective undo—reversing an earlier operation without undoing later ones—as well as undoing assignments and whole edit sessions. A user can also make a user-defined function undoable by recording the information needed to reverse its effects. Undoing an operation can itself be undone, and related commands can redo or reuse recorded events.
X11
The X Window System.

Organizations

BBN
Bolt, Beranek, and Newman , a Cambridge, Mass. consulting firm which sponsored the creation of BBN Lisp, Interlisp’s immediate ancestor, as well as the Tenex operating system.
Xerox PARC or just PARC
Palo Alto Research Center, which continued in collaboration with BBN on (renamed) Interlisp. PARC developed the Alto and Dorado. Now part of SRI International.
SRI International
A non-profit scientific R & D institute, headquertered in Menlo Park, California.
Xerox Electro-Optical Systems (XEOS)
A former Xerox division supporting government customers.
Xerox Artificial Intelligence Systems (XAIS)
The former Xerox division working to commercialize Xerox workstations running Interlisp-D.
Rank Xerox
Xerox’s European subsidiary, a joint venture of Xerox Corp. and the Rank Organization, which sold Interlisp-D workstations in Europe.
Fuji Xerox
Xerox’s Japanese subsidiary, owned jointly by Rank Xerox and Fujifilm Corp., responsible for selling and supporting Interlisp-D systems in Japan.
Envos
Company founded in 198x to take on the Lisp business from Xerox. Closed within 10 months and folded back into Xerox.
Venue
Company founded by John Sybalsky, former Xerox and Envos employee, which obtained a license to create and distribute derivative works of Maiko and Medley.
Medley Interlisp Project
Began late 2010’s with Nick Briggs getting Maiko to run on macOS. The group expanded and began holding weekly online meetings in 2020. Subsequently ported Maiko (and therefore Medley) to Linux, Windows, and other operating system. Maintains a mailing list for developers and interested users, sponsors the maintenance of an exhaustive bibliography and the very website where you’re reading this.
InterlispOrg
A California-registered non-profit organization (DBA Interlisp.org) Established August 2021. 501c3 EIN 87-2528093 California registered charity CT0278267. The Board of Directors consists of Larry Masinter, President; Ron Kaplan, Treasurer; and Herb Jellinek, Secretary.