Expert Domain: History of Computing, Programming Languages (Lisp), and Interactive Development Environments.
Abstract:
This presentation details the history and current revival of Medley Interlisp, a foundational system that pioneered interactive software development and the graphical user interface (GUI). Interlisp originated from PDP-1 Lisp, evolving through BBN Lisp before its pivotal development at Xerox PARC (Palo Alto Research Center), where it was deeply integrated with early GUI concepts (Xerox Alto, D machines). The modern incarnation, released as free open-source software since 2018, offers a functional environment running on modern hardware via the Moo emulator. The system facilitates blended development by supporting both Interlisp and Common Lisp dialects within the same binary. Demonstrations include the TEdit word processor (a precursor to WYSIWYG editors), exploration of bitmap-based font limitations, and the use of interactive, self-contained documentation. The analysis highlights ongoing efforts to incorporate modern Common Lisp features (CLtL 2) and notes performance constraints, particularly memory issues encountered during recursion, suggesting optimization differences from contemporary Lisp implementations. Potential future applications are posited in highly efficient embedded graphical systems, capitalizing on Medley's stack machine architecture.
Medley Interlisp: Features, History, and Modern Revival
0:36 Interlisp Origins: The system traces its roots to PDP-1 Lisp (MIT), which formed the basis for BBN Lisp, developed by Bolt Beranek and Newman (BBN) in the late 1960s.
1:11 Xerox PARC Development: Key BBN developers migrated to Xerox PARC in the early 1970s, integrating BBN Lisp with the evolving GUI concepts of the Xerox Alto. The joint project was subsequently renamed Interlisp.
1:50 Platform Integration: Interlisp was extended with GUI functions and ported to the Xerox D machine line (e.g., Dolphin, Dorado), featuring low-level integration between the Lisp environment and graphical primitives.
2:23 Product Naming: Early versions were named after musical terms (e.g., Chorus, Harmony), culminating in the Medley release, which became the definitive product name.
2:50 Modern Revival: After development ceased in the 1990s (following the "AI Winter" and subsequent company transfers), Medley Interlisp was revived in 2018 as a free open-source project, with its code ported to modern computing platforms.
3:40 Desktop Environment: The current desktop utilizes a binary color (black and white) display, reminiscent of the original Macintosh OS.
4:31 Dual Implementation: Medley supports implementations of both Interlisp and Common Lisp (CL) within the same binary, differentiating them using distinct packages and readers.
5:04 Language Semantics: A key distinction is that the Interlisp reader does not automatically upcase symbols, unlike most CL implementations. Cross-language data compatibility exists but requires specific functions for complex structures like arrays.
8:16 TEdit: The core text editor, TEdit, functions as an early word processor influenced by the seminal Alto Bravo WYSIWYG editor.
10:26 Font Limitations: Fonts in the Medley system are implemented as bitmaps (sets of images for each character), limiting their scalability and requiring that they only exist at certain fixed point sizes.
11:16 System Documentation: The system includes extensive, interactive documentation created using TEdit, which functions as an early hypertext system.
12:21 Hypertext Precursor: The documentation extends to the NoteCards system, an early hypertext environment that was a significant pre-web influence (e.g., HyperCard).
13:51 Current Developer Work: The presenter documented efforts to create an image file reader for the simple, uncompressed NetPBM (PGM) format, citing the complexity of integrating C-based libraries for compressed formats (e.g., GIF, PNG).
20:57 Technical Debt: Implementation challenges include encountering "out of memory problems" during recursive operations, suggesting the lack of optimization typical of modern Lisp systems.
21:16 CLtL 2 Integration: The development team is actively back-porting features defined in the second edition of Common Lisp: The Language (CLtL 2), such as advanced LOOP macro capabilities, which were not present when original development halted.
27:20 Emulation Stack: Medley Interlisp is executed on modern systems using the Moo emulator, developed by Fuji Xerox to replicate the stack-machine-based architecture of the D machines.
28:34 Potential Applications: Given its highly efficient, stack-machine implementation and full-featured graphical environment, Medley Interlisp is hypothesized to be suitable for specific embedded applications, such as driving e-ink screens on low-power hardware.