Interlisp.Org Project News for 3/15/2022.
There has been a lot of activity lately: new Online version; revamped documentation for getting started; getting set up as a non-profit; joining the "Software Preservation Network" as an "Implementation Sponsor; changes to the Medley system itself; plus a set of tools (GITFNS) for using Interlisp to manage git-based workflows.
What is Medley Interlisp?
Medley Interlisp is the environment originally 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, Interlisp SEDIT is 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
About the 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, Frank Halasz, Herb Jellinek, Steve Kaisler, Wayne Marci, Paul McJones, Bruce Mitchener, John Cowan, Arun Welch, Michele Denber, Blake McBride, Abe Jellinek. If you want to help out, please join in. See GitHub issues for some ideas.
We’re meeting weekly (Monday 10:00am PT) via zoom.
We're hoping to make some demos of various features but could use some help.
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 integrationThere 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.
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.
There is a (hopefully) complete catelog of online documentation.
Currently in two documents:Interlisp/history repository for older snapshots of Interlisp implementations and documentation.