This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Project

What is the Medley Interlisp Project?

The Medley Interlisp Project was created to revive Medley Interlisp.

Because Interlisp has been around a long time, with multiple iterations, you might find the multitude of names for the Interlisp language and related companies confusing. To assist, we have created a list of common vocabulary you will find on this website.

What are the origins of Interlisp? Why do we care?

The 1970s and 80s saw major advances in computing and Human-Computer interaction. Interlisp was one of the many experimental systems developed during these heady times. It represents an early example of a system with a GUI (Graphical User Interface), and IDE (Integrated Development Environment).

Within the Xerox PARC environment, it was an early example of a network enabled machine supporting email, file sharing, printing and more. In essence it was a forerunner of today’s computing systems.

Medley Interlisp represents the last Xerox Interlisp release. Medley continued Xerox PARC’s experimentation with developing systems for D-machines. A family of computers (Dorado, Dolphin, Dandelion, Daybreak) resulted. The project was later spun out to a company called Envos, which then turned into Venue.

Medley Interlisp User Interface.

What are we trying to accomplish?

Our aim is to allow Medley Interlisp to “live again”: usable on modern systems, sufficient to allow someone to develop some code and experience what it was like to use this groundbreaking system. 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.

What are our challenges?

Since we aim to revive Medley Interlisp to support not just a demo or test drive, but actual use as a development and learning tool, we need to overcome a number of compatibility problems with current systems and interfaces.

We also want to restore and present earlier versions of Interlisp, for the student of computer history. For more information go to Interlisp and Software Preservation Network.

What have we done so far?

We have done a lot of cleanup and adaptation to make Interlisp Medley usable again in the modern world. Among other developments, you can now run Medley Interlisp on many OS and hardware configurations, or in the cloud, using a web browser.

We’ve also been working on integration of the Interlisp style development with git and GitHub, Docker and other modern components.

Who is involved?

We are some of the original developers and users of the system 30 years ago, joined by newcomers interested in software history and preservation, along with members of the Lisp community. We work with organizational partners. And with you!

Check out this presentation for more information

A presentation from the 2020 Remote Chaos Experience conference highlights some of the interesting aspects of Interlisp.

What have we lost?

The presentation synopsis states it this way:

We have ended up in a world where UNIX and Windows have taken over, and most people have never experienced anything else. Over the years, though, many other system designs have come and gone, and some of those systems have had neat ideas that were nevertheless not enough to achieve commercial success. We will take you on a tour of a variety of those systems, talking about what makes them special.

1 - News

The 2022 Medley Interlisp Annual Report provides a detailed report on 2022 accomplishments.

Recent Updates

12/2022

9/2022

  • Newcomers welcome!

6/2022

  • Documentation update. We’re updating the project documentation. Feel free to make suggestions for improvement
  • Significant development of integration with GitHub (via the GITFNS module) for doing a Lisp-based PR review workflow

3/2022

  • Interlisp Online new version! Many new/improved features. From any (recent) browser. Medley is running “in the cloud” and you connect to it (and your account) over the web
  • Medley Documentation. We’ve been updating the online documentation at least for getting started – instructions on Running in various contexts and Building and Using
  • Interlisp.Org has been approved as tax-exempt by California Franchise Tax Board and the California AG, State Charity Registration Number: CT0278267
  • We have joined (as an “implementation sponsor”) the Software Preservation Network. See Interlisp and SPN for more information
  • Many updates to Medley features and files; most releases have a ‘What’s Changed’ section or URL

1/2022

Merry Christmas and Happy New Year

  • Steve’s Medley Interlisp: The Interactive Environment reformated for easier online reading.
  • Joining the Software Preservation Network.
  • Interlisp.online progress, changes expected
  • New User documentation
  • Still awaiting California Franchise Tax Board (FTB) to confirm exempt status (ETA April)
  • work on Lisp-based GitHub client, comparison of Lisp files

12/2021

  • Interlisp Online: Run Medley Interlisp in the cloud with just a browser. No download or install. Lower the barrier to entry. Of course, it’s better to install a release on your own machine, but for the casual visitor, this is better.
    • Still under development but try it out, report problems (use issue tag ‘online’).
    • There seem to be problems with Safari on older macs–try Firefox or Chrome.
    • a mouse and keyboard are still necessary on tablets.
    • For the immersive “Lisp Machine” experience, run “fullscreen”.
    • HiRes display? Most browsers will let you scale the pixels.
  • InterlispOrg Inc has been approved as a 501c3 with the IRS. The simplest way to donate is using the GitHub Sponsor button.

11/2021

2 - Get Involved

You have several ways to get involved in the Medley Interlisp Project:

  • Explore our working project list. In it you’ll find a variety of different activies, many which do not require indepth knowledge of programming in the Medley Interlisp environment.

  • Look at, comment on, and contribute to our project in Github.

  • Participate in weekly meetings.

  • Read meeting agendas and notes.

  • Join in the discussions through a variety of interfaces.

  • Send us a tax-deductible donation.

Refer to the sections below for details.

Medley Projects

Check out our Project List for ideas and find one that matches your interests. Or, if you have an idea that isn’t covered, make a proposal. Funding is available to help support a limited number of projects. Programming experience is not required for many projects.

Some examples are:

  • Documentation
    • Medley Interlisp contains a wealth of documentation. It needs cataloging and categorizing
    • The Intelisp.org website needs editing and enhancements
  • Bibliography
    • Cleanup / Update / Enhance our Zotero bibliography
  • Website
    • Update and enhance the Interlisp.org website
      • Improve presentation of material
      • Search Engine Optimization
  • Videos
    • Create videos documenting the history of Interlisp
      • We need videos showing how to run Interlisp
      • Document the architecutre of Medley
  • Demonstrations (these require some knowledge of Interlisp)
    • Create sample programs that demonstraing basic concepts

Contribute to our project in GitHub

Join the GitHub Interlisp organization.

Take a look at our lists of bugs, feature requests, and questions posted as GitHub issues in the Medley repository. Do check to see if your issue or question is answered there.

The Interlisp organization on GitHub contains repositories for

  • Medley: Lisp code, build scripts and GitHub automation
  • maiko: The C-coded virtual machine
  • documentation (including this web site)
  • other related project components.

Join our weekly meetings

We have weekly meetings on Zoom:
Monday, 1:30 pm ET / 10:30 am PT
Meetings are to report accomplishments, status, plans, and problems, and discuss directions. Meetings are recorded, but recordings are not public.

If you would like to join our weekly meetins, let us know.

Join in the discussions through email and Google Groups

There are two Google groups in use:

The archives are public. The LispCore group has access to meeting recordings, and usually gets more email (at least lately). Posts from non-members are moderated.

  • Interlisp.org is a Google workspace; let us know if you want an “interlisp.org” email addresses and why you want it.

  • Libera.Chat has a #Interlisp IRC Channel. A place for informal chat. Connect by pointing your IRC client to irc.libera.chat:6697 (TLS) and /join #interlisp. Say hello. There are also channels for #lisp (any dialect) and #common-lisp.

  • Twitter handle: interlisp8.

  • Direct email: In addition to the email groups you can email us at info@interlisp.org.

3 - Organizational Partners

Software Preservation Network

We joined SPN in 2021.

Universities: CSUCI

California State University Channel Islands

  • Professor Eric Kaltman

LFG (Lexical Functional Grammar) group

  • Set up to allow tax-deductable donations for student travel to conferences
  • LFG is a current Medley application maintained by Ron Kaplan

Computer History Museum

  • PARC is purportedly giving a grant to CHM of software collection, including lisp sources
  • hosts Smalltalk Zoo
  • offered to record history interview
  • SPN member

Internet Archive

  • MAME

Software Heritage

  • UNESCO sponsored activity to collect and archive software
  • Longer term focus claims are on reproducibility of software artifacts

3.1 - Educopia

Educopia is a non-profit organization hosting the Software Preservation Network and other software preservation groups.

The also offer additional resources on organizational principles.

  • Community Cultivation Framework: a framework for thinking through a community’s development.
  • Vision in Formation: “Articulating Your Community’s Purpose”: A community facilitator’s guide around starting those mission, vision, and values statements, with templates, including sample agendas, forms, and boilerplate email text.
  • “It Takes a Village”: Tools for planning sustainability for open source software initiatives serving cultural and scientific heritage organizations.
  • The Community Tool Box: templates and advice around community assessment, developing strategic plans and organizational structure, and building community.

3.2 - Software Preservation Network

The Medley Interlisp Project has joined (as an “implementation sponsor”) the Software Preservation Network. SPN is a coordinated, distributed effort to ensure long term access to software through community engagement, infrastructure support and knowledge generation. See Interlisp and SPN for more information.

SPN is hosted by the Educopia Institute.

They recommended the following resources:

  • Community Cultivation Framework: a framework for thinking through a community’s development.
  • Vision in Formation: “Articulating Your Community’s Purpose”: A community facilitator’s guide around starting those mission, vision, and values statements, with templates, including sample agendas, forms, and boilerplate email text.
  • “It Takes a Village”: Tools for planning sustainability for open source software initiatives serving cultural and scientific heritage organizations.
  • The Community Tool Box: templates and advice around community assessment, developing strategic plans and organizational structure, and building community.

3.3 - InterlispOrg

InterlispOrg Inc has beem formed as a non-profit corporation in California.

We have been approved by the IRS for 501(c)3 status, and the California FTB for tax-free status. We have an EIN number assigned. We have a bank account. We can accept donations that may be tax-deductable for the donor. The simplest way to do so is using the GitHub Sponsor mechanism.

The name of the organization is “InterlispOrg Inc” (no punctuation). The board of directors met and, among other things, approved bylaws. It is not a membership organization.

There are three directors on the Board of Directors:

  • Larry Masinter (President)
  • Ron Kaplan (Treasurer)
  • Herb Jellinek (Secretary)

The charitable purpose of the organization is Scientific and, in particular, Computer Science research. The principal activity is to “develop demonstrations of software ideas based on Interlisp”.

The reason for going through this rigamarole is to allow charitable donations, to sustain our Interlisp Online service, to hold copyright and licenses. There are also unanticipated benefits of discounts and service credits available to non-profits.

4 - Status Reports

Annual Reports

The Medley team has produced annual reports documenting their major achievements.

March 2023 Bay Area Lisp Meeting

An overview of the Medley Interlisp project was presented at the March Bay Area Lisp Meeting. The following recording provides an introduction to the work being undertaken by the Medley project.

Closed Issues

The issues closed by the team can be found in our GitHub repository.

4.1 - 2022 Medley Interlisp Annual Report

Introduction

We have made considerable progress on the Interlisp software preservation project, and we want to offer tours and collaboration for those engaged in similar or related software preservation efforts.

Interlisp was an early and unique software development environment (IDE) developed in the 1970’s and 1980’s at Xerox PARC, and a testbed for novel software development tools. The Medley version of Interlisp-D was built as a portable Virtual Machine, which has allowed us to bring the system forward to run on a wide variety of modern hardware and operating systems.

Interlisp was also an environment that supported many novel applications, especially in Artificial Intelligence of the 1980s.

We are approaching the project as a general software-preservation-through-emulation project, starting with source code. While a “strict emulation” mode is possible, we’ve been focusing on an updated version that fixes some of the compatibility problems with modern hardware (keyboards, mice, etc.) and implements more modern modes of user interaction.

Accomplishments

Advances over the last year include:

  • New versions of online.interlisp.org give users a virtual “Lisp machine” accessed through the browser without any software to install.
  • New versions of (open source, in GitHub) emulator and VM images with numerous improvements.
  • Support for virtual networking of the Xerox Network Systems (XNS) protocol stack (pre-dating TCP/IP, as well as the “PUP” (PARC Universal Packets).
  • Further work reviving classic Interlisp applications, including Rooms (desktop management), Notecards (Hypertext from the 80s, well before the Web), LOOPS (Lisp Object Oriented Programming System), melding Smalltalk style object inheritance with class-based knowledge engineering tools.
  • Continued integration of Common Lisp standard features with Interlisp development tools.
  • A large (but still unsorted) Zotero library of referenced texts, papers, documents, and presentations.
  • A new expanded Interlisp.Org website that documents the project, software history, goals, contributors, and other components.
  • Additional development of GitHub Interlisp organization and repositories that provide a record of issues, changes, bugs, and fixes.

Getting Involved

We meet weekly to discuss open issues and other agenda items. Meetings are recorded. We’d like to talk to others who might be interested in collaboration or using our components for other emulation projects.

Contact us at: info@interlisp.org

4.2 - 2021 Medley Interlisp Annual Report

November 15, 2021

Join Interlisp group or follow @interlisp on GitHub

Introduction

To “revive” something is to make it live again. Making Medley Interlisp live again means putting the system in order so that others without a previous deep background in Interlisp can use and appreciate it (if only as a virtual antique).

The Medley Interlisp project started in earnest in March of 2020 (at the beginning of the pandemic). This report focuses on activities and accomplishments since the December 2020 virtual meeting of LispNYC (recording at: https://www.youtube.com/watch?v=x6-b_hazcyk).

In this document, work in the project is broken down into three main categories:

  • Work on the software itself – debugging, adapting, etc.
  • Documentation for the software
  • Building an organization and developing a community

Software Archeology

“Software Archeology” is a process like putting together a functional bowl from pottery shards. We have not completed the task, but we have a stable base.

The software is old: it had been developed between the ’70s and the 90s, with many revisions, by many different people, working with little internal documentation. There were many “excursions” to support systems or options that are no longer available. Over the last 25 years, software standards evolved for C, Common Lisp, character codes, and operating systems.

Maiko

Maiko is the implementation, in C, of the Medley Interlisp virtual machine. It can be found at https://github.com/interlisp/maiko.

  • Conformance: We have been making Maiko conform to modern C compiler expectations. Removing support for outdated systems simplified the task.
  • SDL: Support is underway for SDL, a multi-platform (Windows, Mac OS X, Linux, iOS, and Android) graphics toolkit as an X11 replacement. SDL can be used instead of X11 as the shim to the native window system, which (we hope) will allow the system to run on Windows without separately installing X11, Docker Desktop, or WSL2.

Because of the cleanup work, the code is much more portable than ever before. Systems we’ve tested on or regularly build for include

  • Operating systems: macOS, Linux, FreeBSD, Solaris 11.4
  • CPU architectures: i386, x86_64, arm7, aarch64, SPARC-32 and -64

This covers Raspberry Pi (linux.arm7) and Windows 10 (with WSL2 or Docker). and Windows 11 (includes WSL2). Performance is outstanding. A $40 Raspberry Pi completes Lisp tasks 250-1000 times faster than the Dorado (the $90k high-end Xerox 1132 Lisp machine).

Medley

The rest of the system is implemented in Lisp: Interlisp and Common Lisp interpreters, compilers, debugging tools, editors, window system, graphics, device drivers. In the last year:

  • Organization: We have been cleaning out and organizing, comparing dates on files, and deciding which to keep; building maintenance scripts and Lisp utilities.
  • EOL and character conversion: the code for handling end-of-line and character codes was generalized, on the way to full Unicode support. (See Medley Issue #2)
  • Git integration: Interlisp’s file manager was designed for versioned files with version numbers. GitHub has a different graph model of history. We built “restore-versions” to restore numbered versions from git logs, but the problems are deeper. If the Interlisp style of programming is going to be supported, we have to solve these problems. (see Medley issues #265, #226)
  • Loadups: We recreated the method of building a system from scratch, which used to be an hours-long manual process.
  • Debugging: We found and fixed a variety of bugs: a few Y2K problems, some instances of “bit rot” and smashed files, incomplete implementations, and code patched at “wrong level”.
  • Modernization: Window manipulation by title bar dragging and corner selection, mouse wheel scrolling, clipboard–these seem to be necessary enhancements for modern users.
  • Release process & automation: GitHub Actions are now used to automate the build process for Medley releases and also a Docker container, deployed to Docker Hub as Interlisp/Medley. This gives a way to run Medley in the cloud (on Amazon Web Services, Azure, Google Cloud) or on the Windows Desktop with remote access in a browser.

Interlisp Applications

One of the reasons for restoring Medley Interlisp is to support the revival of applications written for it.

  • Notecards: Notecards is a hypertext system developed well before the web or Apple’s Hypercard. http://notecards.online was built with the Medley/Docker release, running Medley “in the cloud,” with web browser access. We are adopting this to work for other Medley Interlisp systems, and for others to build.
  • Rooms: Rooms is a Lisp desktop manager for less cluttered window access with interesting innovations. In the Medley repository. Loads but untested.
  • CLOS: The Common Lisp Object System adds a style of Common Lisp class structures added after Medley’s Common Lisp implementation to the ANSI standard. Also loads but untested.
  • LOOPS: An object-oriented Lisp addition (to Interlisp) prior to CLOS. Of interest because of AI applications built using it, including “Truckin’” – a demonstration of “knowledge programming [see paper]. The source code for the Truckin’ application exists and will be used to test LOOPS once it fully loads and is compilable.
  • LFG: the Grammar Writer’s Workbench,
  • LispUsers: User-contributed software (before “open source” was a thing). We’ve checked out over half of the LispUsers files.

Documentation

Books

  • Interlisp: The Language and Its Usage, by Steve Kaisler, originally published by John Wiley & Sons, scanned and converted to a compact PDF. This book describes the core features of the Interlisp language.
  • Medley Interlisp: The Interactive Programming Environment, by Steve Kaisler, describes the Interlisp-D Interactive Programming Environment as implemented on Xerox D-machines and now running on several modern platforms.
  • Medley Interlisp: Tools and Utilities, by Steve Kaisler (undergoing editing) describes the editors and tools to be used for program development. It is expected to be completed and uploaded to Interlisp.org in early December 2021.

Software Documentation

We’ve converted TEdit source documents to PDF (see medley-pdfs). We have the IRM (Interlisp Reference Manual) with links to online help (DInfo), User Guides, Release Notes, Primer. We still need to convert and publish documentation for some Interlisp applications and to organize and update to make it easier for newcomers.

Bibliography

Zotero is an Internet bibliographic service. We have set up an Interlisp Zotero of Lisp-related material, many items with the source material as PDFs. Our goal is to have a comprehensive source of information about Interlisp-related technical papers, technical reports, and manuals for various versions and implementations of Interlisp (and, for comparison) contemporaneous “Lisp Machine” competitors.

Working older versions

In addition to modern Medley, we have begun to organize other emulations of older versions, and a “history” repository, including files from Interlisp-10, the “DarkStar” emulator of the Xerox 1108 / 8010 hardware, and sysouts for many different releases of Interlisp-D. We’re working on making an earlier version of Medley (running on an emulated DosBox); currently available with instructions in the Interlisp/DOS repository.

Outreach

To attract users and supporters, we need to make the project known.

Who are we?

In this document, we use “we” to mean our contributors:

We depend on volunteers to help. If you’d like to help but aren’t sure how to, ask.

Future activities

There were some tasks/projects listed here; they have been moved to GitHub issues.

Acknowledgments

We’ve gotten a lot done, but there’s quite a bit more to do. Thank you to Abe, Alexander, Arun, Bill, Blake, Frank, Herb, John C, Larry, Michele, Nick, Paul, Peter, Ron, Wayne, Zoe.

A moment in memoriam to past contributors, including John Sybalsky, Warren Teitelman, Danny Bobrow.

5 - Vocabulary

The names “Medley” “Medley Interlisp” “Interlisp” “Interlisp.org” “Common Lisp” in ways that are confusing. We’re talking about a lot of different things. And these are mostly not terms that we’ve made up, they’re cemented in by the titles that have appeared in different publications.

Vocabulary and relationships

Alto Lisp
An (unsuccessful) attempt to build a Lisp-based OS for running Interlisp on an Alto
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.
DLISP
By Warren Teitelman: a first attempt at building a “Display” (GUI) with Interlisp running on Maxc (A PDP-10 clone) a Xerox Alto as a graphics terminal connected to it via Ethernet.`
Dorado Lisp
The reimplementation of the AltoLisp microcode on the Dorado – a research prototype.
Fugue
An obsolete named release of Interlisp-D.
Harmony
An obsolete named release of Interlisp-D.
Intermezzo
An obsolete named release of Interlisp-D.
Interlisp
A GitHub “organization” with ~20 repositories, see https://github.com/Interlisp
Both a language and, in some cases, the implementation of that language. Usually used with some other wording or refinement
Interlisp: The Language and its usage
A book by Steve Kaisler which describes Interlisp of the 1970s & 80s
Interlisp.org
A “domain name”, used for some web sites and email addresses
Interlisp-10
The first implementation of “Interlisp” for the 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 Digitial Equipment Corporation VAX systems
InterlispOrg
A California-registered non-profit organization (DBA Interlisp.org) Established August 2021. 501c3 EIN 87-2528093 California registered charity CT0278267. President Larry Masinter, Treasurer Ron Kaplan, Secretary Herb Jellinek.
Koto
An obsolete named releases of Interlisp-D.
Lcom
Used as a file ending, xxx.lcom, for compiled Medley files.
Lyric
An obsolete named releases 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 microcode D-machine, but written in C for the Sun Microsystems (RISC-like) SPARC processor workstation, initially developed by Fuji Xerox. Subsequently ported to little-endian processors and other operating systems.
SDL
Structured Design Language
Sysout
A file containing the saved state of Interlisp virtual memroy
X11
The X Window System

Organizations

BBN
Boston consultancy which (late 60s) implemented BBN Lisp and 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
non-profit scientific R & D institute
Xerox Electro-Optical Systems (XEOS)
Xerox division supporting classified customers
Xerox Artificial Intelligence Systems (XAIS)
The division working to commercialize Xerox Workstations running Interlisp-D.
Rank Xerox
Xerox affiliate in charge of delivering Interlisp-D workstations in Europe
Fuji Xerox
Xerox affiliate – joint project of Rank Xerox and Fuji Photo Film company.
Envos
Company founded in 198x to take on the Lisp business from Xerox. Closed within 10 months and folded back to Xerox.
Venue
Smaller company, started by John Sybalsky; it had the license to create and distribute derivative works of Maiko and Medley Venue ceased operations… … some history …. Software recovered from late 90s…. Fuji Xerox worked with John into the 90s with ports and addons and other software….
Medley Interlisp Project
Began late 2010’s with Nick Briggs getting Maiko to run on MacOS. In earnest in 2020 with start of weekly Zoom meetings, getting it to run on Linux in a VM and getting the Interlisp and LispCore google groups and ….