See the Medley Interlisp Wiki for a list of available documentation

What is Medley Interlisp?

Medley Interlisp is the environment developed for the Xerox Lisp machines (called D-machines, names Dorado, Dolphin, Dandelion, Daybreak). The project was spun out to a company called Envos, which then turned into Venue.

It was the first IDE with a window/mouse/menu GUI, launched as a product from Xerox in 1980. It was a base from which AI applications were built, as well as a research project in its own right.

For example, D-EDIT and S-EDIT are the canonical ancestral structure editors. Masterscope and the "file package" included system-management tools that combined features of version control and build systems, with comprehensive cross referencing support.

Medley was the latest release of the Xerox Lisp environment, before the whole environment was renamed Medley. It was originally written in Interlisp (a dialect separate from the MACLISP/Common Lisp tradition, with its own ancestry), but later, Common Lisp also became part of the environment. Medley includes a WYSIWYG text editor (TEdit), email organizer (Lafite), performance tools (Spy) and many other libraries and user contributed code (from the 1980s).

The 1992 ACM Software System Award, to Daniel G. Bobrow, Richard R. Burton, L. Peter Deutsch, Ronald M. Kaplan, Larry Masinter, Warren Teitelman

"... for their pioneering work in programming environments that integrated
  • source-language debuggers,
  • fully compatible integrated interpreter/compiler,
  • automatic change management,
  • structure-based editing,
  • logging facilities,
  • interactive graphics, and
  • analysis/profiling tools
in the Interlisp system."

About the Medley Interlisp Project

Our aim is to restore Medley Interlisp to usability on modern systems, sufficient to allow someone to develop some code and experience what it was like. You could think of this as a kind of "vintage software" project, to try to capture the sense of fluidity in the development cycle. We hope to provide a platform for demonstration of early experiments of hypertext (Notecards), Desktop management (Rooms), Object-oriented programming (LOOPS), as well as Interlisp itself.

Who is involved?

The core group of contributors includes Larry Masinter, Ron Kaplan, Nick Briggs, Wayne Marci, Paul McJones, Bruce Mitchener, John Cowan, Arun Welch, Michele Denber, Blake McBride, Abe Jellinek, Bob Bane. If you want to help out, please join in. See GitHub issues for some ideas.

We’re meeting weekly (Monday 10:30am PT) via zoom.

We're hoping to make some demos of various features but could use some help. We're coordinating with the Computer History Museum and would like to with the ACM History group, the Internet Archive, Fuji Xerox and PARC.

Basic components

An implementation of the virtual machine (like a port of the microcode that turned the Xerox hardware into a lisp machine.) The emulator, called maiko, was initially developed at Fuji Xerox for the SunOS/SPARC. It was subsequently ported to many different OS and hardware combinations.

The Lisp system itself was split into layered parts:

  • The core of the system written in Lisp to implement system components including memory management, Interlisp and Common Lisp interpreters and compilers.
  • Basic operating system components: thread scheduler, drivers for disk, floppy, display, keyboard; windows, menus, fonts, networking (originally PUP, then XNS, then TCP/IP).
  • The Library contains additional utilities and the development environment, text editor (TEdit), debugger, source file manager, email client,etc.
  • LispUsers packages were contributed by users but curated by the Interlisp developer group
  • Raster image Fonts in display and print resolution
  • Documentation and release notes
  • Memory images (sysouts) that can be loaded run without loading or compiling anything other than compatible maiko.

GitHub integration

There is a GitHub Organization Interlisp with repositories for Maiko, Medley, this web site (Interlisp.github.io) and others. The Wiki, Releases, Issues, Discussions, are all under the Medley repository.

Objectives

The primary focus of this project is to make Medley usable enough that people can use it in a modern environment. Primarily this is a matter of testing and debugging; raise issues in the Interlisp/medley repo. But we're also trying to "modernize" some things; for example, we're adding Unicode support for IO (Interlisp-D was built before Unicode, and supports an older Xerox encoding). As with most open source projects, what we're able to accomplish depends on volunteers.

Releases

We have yet to do any formal releases, but there are some samples in the Medley repo. Download the medley tgz and maiko for your host OS and architecture. Or build your own maiko following the build instructions.

History

To facilitate revision, the History section of the web site has been moved. See

There is also a separate Interlisp History repository for older snapshots of Interlisp implementations and documentation.