Ask HN: What Were the Differences Between Symbolics Genera and Xerox Interlisp-D
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.
9 comments
[ 4.6 ms ] story [ 38.1 ms ] threadMy 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).
* 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.
1. the Xerox Lisp machines all used highly configurable processors which ran Lisp microcode, right back from the Alto; and by the time they got to the 1186 Daybreak it was a single chip, so a microprocessor. So to say they didn't have a Lisp microprocessor is sort of a misunderstanding. Although it's fair to say that memory was limited, and that performance was not on a par with the Symbolics or TI machines.
2. Common Lisp was very different from Interlisp, but that wasn't driven by customers.
It's worth reading Gabriel and Steele's 'The Evolution of Lisp'; neither author can be described as an Interlisp advocate, although the paper is reasonably fair. Full disclosure, I played a minor part in the European Lisp standardisation committees (under ISO WG 16) in the mid eighties, so I'm not an unbiased observer either. The conflict between European and US groups is documented (from a US perspective) in section 2.12.11 of the paper.
But essentially, I think I can say uncontroversially, the ascent of Common Lisp was highly political, and most certainly not customer driven.
Larry Massinter (et al)'s work to get Interlisp going on stock hardware is indeed a very welcome thing, but we've lost thirty years of evolution and development. Until it can address the host operating system's windowing layer, rather than running in a single window, it will remain a curiosity.
"The central processor is a microprogrammed, 16-bit general purpose computer consisting of approximately 170 ICs of various sizes and complexity. It resides on a 10.9-inch by 16-inch printed wiring board assembly (PWBA), referred to as the Mesa Processor Board (MPB), located in slot 3 of the backplane."
"Four 2901C LSI chips that make up the core of the central processor. The 2901C is a 4-bit processor; the four chips are cascaded to provide a 16-bit processor. Supporting the 2901C are four register sets (U, RH, IB, and Link), a four-bit rotator, and four emulator registers (stackP, ibPtr, pe16, and MInt)."
Symbolics and TI had a more advanced processors: The Symbolics Ivory is a 40+8 bit specialized microprocessor. The TI MegaChip was a 32bit microprocessor for Lisp, also marketed as the first microprocessor with around 1 M transistors.
Both companies had developed chip design software in Lisp to create these microprocessors.
> But essentially, I think I can say uncontroversially, the ascent of Common Lisp was highly political, and most certainly not customer driven.
DARPA was the biggest "customer" and asked for a unified Lisp when delivering military applications. At that time many applications came with its own customized Lisp dialect. That was the reason why they invested so much money into a Common Lisp definition and later in the standard. They also invested probably close to a billion USD into hard and software projects. In the early days a research project could ask for money and when they did it in Lisp, they got a Lisp Machine for free (funded by DARPA, like the rest of the project).
"In April 1981, after a DARPA-sponsored meeting concerning the splintered Lisp community, Symbolics, the SPICE project, the NIL project, and the S-1 Lisp project joined together to define Common Lisp. "
> Until it can address the host operating system's windowing layer, rather than running in a single window, it will remain a curiosity.
In Symbolics Genera one can open multiple X11 windows and for example allocate specific activities (applications) to them. A TI explorer had a port of the interface designer, where one could interactively design Macintosh windows with the logic on the Lisp machine.
Action!, the worlds first dynamic interface builder - 1988
https://vimeo.com/62618532
The software was written in Common Lisp and ran on an embedded TI MicroExplorer Lisp Machine inside a Mac II.
You're right in general. But having Medley's quirky window system and environment run in its own space is among the things I find fascinating of Medley. It's like an alien computing universe.
If one looks at current development environments, many of them have their own single window (with multiple subpanes and window layouts) and often a not-so-native user experience. Many cross-platform toolkits also add an additional layer. What is different here, is that the window is a new window system, where we often find in modern IDEs the IDE of subpanes, instead of subwindows/...
The Symbolics Genera UI OTOH favors multiple (mostly) full screen applications with subpanes. One switches between them via keyboard commands: select-e is the editor, select-l the listener, select-d the documentation reader, select-m the mailer, ... you get the idea.
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.