Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What Were the Differences Between Symbolics Genera and Xerox Interlisp-D
8 points by linguae 10 months ago | hide | past | favorite | 9 comments
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.




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.


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).


Didn't Genera also provide advanced features such as the presentation facility at the base of CLIM that came later?


There was a bunch of advanced things in Genera: the error handling system (-> Condition System), Flavors, CLOS, an object-oriented generic networking substrate, an ephemeral garbage collector (which vastly improved the usability of a machine with large virtual memory), support for embedding the OS into other hardware / OS combinations (like a Mac or a SUN), support for programing in C/Pascal/Fortran/Ada with a language sensitive IDE, support for color/video/3d/..., versioned source code management for files, ... Important also and mostly unique: things like the error handling system and the presentation-based UIMS was widely used in the operating system and the applications. When did you last see an operating system which was using something like the condition system (with integrated debugger and restarts) as its main error handling and gives that to the end-user? When was your TCP/IP stack written in Flavors/CLOS and could be debugged/extended on the fly? There was also a version of Genera, called Minima, that ran on embedded Lisp Machine boards.


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.


Objections:

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.


> Until it can address the host operating system's windowing layer, rather than running in a single window, it will remain a curiosity.

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.


In former times that was the screen in front of you. With its own window manager, menus, scrolling, mouse controls, etc.

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.


http://www.bitsavers.org/pdf/xerox/6085/daybreak/Daybreak_Te...

"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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: