HACKER Q&A
📣 linguae

What Were the Differences Between Symbolics Genera and Xerox Interlisp-D


I have experience with Scheme, Racket, and Common Lisp, including teaching undergraduate-level courses on programming language paradigms and principles. I am also an avid reader of programming language literature, and for years I've been impressed with what I've read about the Lisp machines of the 1980s, as well as projects inspired by them such as Apple's work on Newton (which started as a Lisp project until John Sculley made an executive decision to have C++ be the implementation language), SK8, and Dylan in the 1990s. However, having being born in the late 1980s, I never got to use a Lisp machine, and the only one I've seen is the LMI-LAMBDA machine in the Computer History Museum in Mountain View, CA.

There's a lot of nostalgia, mystique, and praise surrounding the Symbolics Genera operating system, especially its development environment, which I've heard former users say it was the best development environment they've ever used. However, I haven't heard as much said about Xerox Interlisp-D, which is also a graphical Lisp environment that seems to be influenced from Xerox PARC's earlier work on Smalltalk, Mesa, and Cedar. I'm curious about the similarities and differences between Symbolics Genera and Xerox Interlisp-D. Why is Genera more hyped than Interlisp-D? Unlike Genera, which is proprietary and is extremely difficult to obtain legally, Interlisp-D is now free, open-source software, and there's a community that has ported Interlisp-D to run on top of modern operating systems.


  👤 la4ry Accepted Answer ✓
The question asked was about the differences between the two software systems in the past.

From that perspective the two systems had very different objectives and target audiences.

Interlisp-D was focused on ease of use, the GUI, incremental development by researchers who weren't focused on programming per se. This explains the features around the GUI, error correction, programmer's assistant, source file management. Interlisp was forgiving.

I always imagined Symbolics Genera was designed for the expert user who wanted the most power, speed, capability possible.

Race car to off-track vehicle.

As for hardware, the Xerox D-machines weren't particuarly designed for Lisp. Comparing the hardware is kind of irrelevant.

Today, medley runs 1000 times faster and a much larger address space, so there's enough room to try things.

The Medley Interlisp project includes many "help wanted" items in terms of documentation, testing, Common Lisp compatibility, and things relating to adapting to modern hardware (keyboard, mouse, display) and software (OS, installer, unicode, etc) as well as finishing some "work in progress"items that were done after Medley 2.0. We started with Medley 3.5 to get the larger address space (4 bits) and symbol space.


👤 simonbrooke
There certainly was a lot of mystique about Genera; I only got to play with a Symbolics machine once. But, although it was the very top end of the US East Coast Lisp machines, it was just a US East Coast Lisp machine. You edited files, you did not edit in core. You edited with a text editor, you did not edit with a structure editor. You did not have the vast range of graphical code inspection and exploration tools that we had on Interlisp (or if you did they didn't show them off), and the break inspector was just as crude and clunky as it is on a modern Common Lisp system.

My understanding is that the Symbolics machines were a lot faster than our Dandelions and Daybreaks (I never got to play with a Dorado, either...), but... I honestly don't believe they were in the same class.

Mind you, the other Lisp machine of that era that I really lusted after, the Connection Machine, I never got to play with at all, although there was one being used for something very hush-hush and defence related in one of the labs some of our machines were in.

Interlisp was about fifty years ahead of modern software development systems; Genera was forty years behind (which is fair enough, it was forty years ago).


👤 lispm
There are a bunch of reasons. But the three main reasons:

* the Xerox Lisp Machines were limited: very small address space, slow, expensive. Most projects very early on reached the limits of these machines. A Symbolics would be even more expensive, but they could be enhanced with more memory. When I got to see a local, closing, lab which formerly used a bunch of Interlisp-D machines, they had a Symbolics 3600 (the first machine designed by Symbolics, followed by two more machine generations), where they tried to port the software to, since they had so much more memory space - which was needed for complex natural language software.

* Xerox pulled earlier out of the Lisp Machine market and did not invest more money. TI and Symbolics developed a Lisp microprocessor. Xerox did not. 1986 Xerox was talking about it, but then it was mostly dead and nothing happened. The software was offloaded to some other company and an emulator on SUN and Windows machines was offered&maintained (Medley). Some projects inside Xerox PARC used Common Lisp (on workstations), for example Xerox PARC worked on CLOS and the Meta-Object Protocol for it, the Common Lisp Object System + MOP. There was a 3d UI group which developed 3d visualizations using Common Lisp on SGIs - I think with Allegro CL from Franz. Medley had a Common Lisp implementation integrated with Interlisp, but I've never heard about anyone using it.

Symbolics followed a few years later: the Ivory microprocessor was the last generation and early 90s saw then a port of Genera to the DEC ALPHA running UNIX: Open Genera.

* Interlisp was very different from Common Lisp, as a language - Common Lisp was the new standard pushed by the customer(s).

Summary: The hardware already was dead end, so was the Lisp dialect they used. Xerox was no longer interested in investing into it.

The difference was night and day. There was some great software developed on Interlisp-D (like LOOPS or KL-ONE), but there was no way one could develop something like the Symbolics Graphics Suite on it (with 3d modelling and animation), attach HDTV frame grabbers to it (like NASA did for Space Shuttle launch monitoring), software like iCAD was originally developed on it (which was used in Aerospace to construct planes, turbines, ...). There were a bunch of interesting customer projects. I got a used 3640, which was used by Philips medical research, got used MacIvories, which were used in scheduling the operations of a large power plant, ...

Positive: Interlisp now can be used again, due to open sourcing it and a project that provides improvements.

Btw, if we are talking about the Connection Machine from Thinking Machines, the CM1 and CM2 were co-processors to a Symbolics Lisp Machine. Thinking Machines developed a board for them, which then was the interface to the massive parallel SIMD machine, with its famous cube design. The programming was done on the Symbolics: in CM-Lisp or *Lisp, which was an extension the Common Lisp dialect on the Symbolics. *Lisp runs on the frontend (the Lisp Machine) and runs the parallel code on the Connection Machine (with up to 65536 small cores). The Connection Machine itself was not a Lisp Machine, it did not run Lisp.