Hacker News new | past | comments | ask | show | jobs | submit login
Symbolics Lisp Machines Graphics Demo (1990) [video] (youtube.com)
148 points by mepian on May 20, 2023 | hide | past | favorite | 78 comments



The graphics software shown in this video (S-Graphics aka S-Products) partially outlived Symbolics and was evolved into Nichimen N-World and later Izware Mirai.

The last version is available on the Internet Archive: https://archive.org/details/izware_mirai_1.1sp2

The history of Symbolics Graphics Division is documented here: https://ohiostate.pressbooks.pub/graphicshistory/chapter/6-3...


I began my 3D graphics development on a Symbolics workstation at the MIT Media Lab in the mid-80's. This was before the S-Graphics suite was released. [0]

The outstanding feature of the S-Graphics suite was the polygonal modeler which used a winged-edge structure that was far ahead of its time. It survives conceptually in the Wings3D system, which is a quite faithful copy of that modeler.

And of course you got the extensibility that came with the graphics system being built on Lisp.

But Symbolics was never, as far as I saw, a serious or popular contender in 3D production. Not only was the system expensive, but the hardware could not keep up with SGI's graphics abilities. Furthermore, the mass of CG developers at the time came from a C/Unix background, and rendering especially was so speed critical that C (and Fortran) resulted in faster systems.

Almost 40 years later, I have returned to the idea of developing a 3D system in Common Lisp [1]. We shall see where it leads.

[0] https://medium.com/@kaveh808/late-night-lisp-machine-hacking...

[1] https://github.com/kaveh808/kons-9


This thread brought back memories of what could have been a game-changer for Lisp in graphics: Whitney/Demos Productions.

This was a company set up by the founders of Digital Productions of "The Last Starfighter" and Cray XMP fame. Their system was based around a Connection Machine and Symbolics workstations, with development to be done in Lisp.

Unfortunately, they folded almost before they started, due to their funding falling through.

One can only imagine how that might have changed the 3D production landscape.


A shame they didn't archive this in HDTV format. :-(


My uncle wrote a TCP/IP stack for the early symbolics lisp machines. He told me at the time (probably early 90s) how they had what is now known as Time Travel Debugging[1]. I remember it just totally blew my mind when he told me in the debugger you could pause the process, step backwards, change some variables or even code, and then start going forwards again. Way ahead of their time.

[1] https://learn.microsoft.com/en-us/windows-hardware/drivers/d...


I really don't understand how this company fell so far from grace. Their product was excellent. Don't get me wrong, I've read the history and understood how they failed to pivot from hardware Lisp machines, but they have completely vanished without even chugging along as a legacy systems provider (think OS/2).

Does any of their influence survive in modern hardware or software design? I hardly ever see Genera cited.


I believe there is still a minimal group of people providing support to some legacy customers. From what I've heard they have an emulator that originally ran on Alpha but was recently ported to x86 and then to Apple Silicon ( https://twitter.com/gmpalter/status/1350663314968350723?s=20 ). IP issues I think are sort of unclear and so the legal release of the software is tricky, if not impossible.


The intellectual property of Symbolics is currently owned by John C. Mallery, the developer of CL-HTTP aka the first US White House web server. He was interested in making it officially free, but unfortunately has gone silent about two years ago, according to the person who ported Genera to x86 and Apple Silicon: https://hachyderm.io/@gmpalter/109553414024392523


I talk to him from time to time so he isn’t silent on every topic.


Could you please try to probe him on this topic?


If he acquired it from Topping’s estate, I’d like to see proof that Toppings actually paid for it.


Cheap PCs , CPUs, graphics chips, and software made many of these companies obsolete by the mid 90s.


>ithout even chugging along as a legacy systems provider (think OS/2).

Haven't the same happened to SGI, DEC(VAX), and OS/2 itself? All much bigger successes at their time than Symbolics has ever been.


DEC basically ended up getting commoditized by Linux; they still had momentum when moving from VAX to Alpha. In the early 90s they were able to migrate many of their VAX/VMS users to Alpha/OpenVMS and their Ultrix users to OSF-1, but by the end of the 90s, many of their ISVs had released Linux versions of their products. SGI at least had niche applications that let them hang on independently for a bit longer.

DECs offerings really couldn't compete with that, and there was noting Compaq/HP could do about it.


This is what is happening to Google now with AI


They were really expensive. Many of their customers were first wave AI shop, so when they shut down that was alot of revenue. I think sgi took the graphics market from them


The 2D paint production was never taken over by SGI. That was essentially a clone of Quantel Paintbox which was locked into its own custom hardware but survived the 90s.


The Symbolics graphics software was bought by Nichimen. Nichimen ported it to SGI/IRIX and Windows NT, using Franz Inc.'s Allegro Common Lisp. It was commercially available as N-World.

https://en.wikipedia.org/wiki/N-World


Emacs was heavily inspired by the Lisp machine and is still widely used today.

However, I tried to start using it several times and gave up in frustration, it just won't fit me. Various vi-compatible modes make it even worse. And I love Lisp but without Emacs I feel like second class citizen.


If you want to try the system, look at CADR: https://tumbleweed.nu/r/bug-lispm/forumpost/7475d8a3dbb56a1a

I highly recommend do update the Fossil repository and load the patches, because they fix some mouse problems. See https://tumbleweed.nu/r/bug-lispm/forumpost/64e5f59e4847d57c

Unlike Genera, it is trivial to run it on modern machines and it is open. You may also see how much the fame of Symbolics is based on work done on MIT. And remind the history that lead to GNU.


> If you want to try the system

That's the original MIT Lisp Machine OS, but not Symbolics Genera and not their graphics suite, which was the software used for the created graphics (see the posted link).


Right. I should have emphasized it more. But it is the closest thing people can try now without violating copyright laws.

Genera has an advanced command system and tools like Document Examiner, but the general experience is very close.


Genera also had S-Graphics (a suite of 2d and 3d graphics software and a bunch of hardware for it), which was used in the graphics demo linked above. The software and the computers to run it were commercially sold and used in TV and animation studios. A lot of the early 2d and 3d animation in commercials on TV were done with S-Graphics. There is no comparable thing in the MIT software.

For example S-Graphics was used for this Apple introductory video for the Macintosh IIfx (1990).

https://www.youtube.com/watch?v=BUhd3FZERUE


I'm very excited by the recent CADR revival, but the original MIT system does feel primitive compared to the later Symbolics releases.


Yeah, it’s like comparing a Lisa running the Office System to a PowerMac G3 running Mac OS 8. The family resemblance is certainly there, but one is way more advanced than the other.


The Lisa was at least made into a product.

The CADR was a research prototype of a University research lab for a new type of computer, with Lisp hackers developing an early OS and a few research applications.

Of the Apple Lisa roughly 80,000 machines for $10,000 per machine were sold. The CADR would have cost around 8 times more and only 200 had been built. Nothing which had reached the level of a product which one would like to ship to a customer.

About the LM-2, Symbolics' version of the CADR:

https://www.computerhistory.org/collections/catalog/X995.89C

"The LM-2 was a popular AI (Artificial Intelligence) machine when it was introduced in 1981. It had a 32-bit CPU with a 12K writable control store, 1MB of main memory and an 80MB hard disk. It also came with a bit-mapped display, mouse, and LISP programming environment. Symbolics introduced the Symbolics LM-2 in 1981. The LM-2 was basically an M.I.T. CADR, repackaged for higher reliability and easier servicing. Symbolics made numerous improvements to the system software and offered options such as Fortran-77, color graphics hardware, and the LGP-1 laser graphics printer. Alternative label copy: Symbolics LM-2 Symbolic Processing System, 1981 The LM-2 was a popular AI (Artificial Intelligence) machine when it was introduced in 1981. It had a 32-bit CPU with a 12K writable control store, 1MB of main memory and an 80MB hard disk. It also came with a bit-mapped display, mouse, and LISP programming environment."


Both LMI and Symbolics sold the CADR commercially though.


Yes, they sold slightly improved versions in very low volumes (~ 100 LM-2 were sold by Symbolics, see above), until they had a machine that was a bit more designed to be a commercial product - machines which were still very fragile -> the Symbolics 3600 and the LMI LAMBDA.


Cycorp actively develops Cyc in a dialect of Lisp, which was originally written on Symbolics machines. Back when they had a physical office — in the before-times — they had a coffee table in the office lobby that was made out of a Symbolics, which when it was new cost over $20K.


I wrote that code originally, back at MCC. There was an Interlisp-D code base (Doug had been at PARC — we even overlapped) but the hardware you could buy was just way too slow. Plus the Symbolics machines were just better.

So I started from scratch and had the core system running in a long week end. Instead of “just growing” it had a layered architecture that people could build upon.

It was possible to integrate the new types so deeply into the system that they were indistinguishable from “system” types, which kept people from making mistakes or trying to be cute.

Hacking lispms may have been the most productive development environment I’ve used in my nature life.

Note: I had two fully decked out machines (8 MW of RAM — 40 whole MB), one with a color display. Probably $100K of hardware for one developer. They got their money’s worth, but honestly how many institutions could afford that?


I'm case people see curious, I gathered a few links about this on http://old.reddit.com/r/nichimen


Lisp was always such an odd animal, kind of the rotary engine of computer science. Although provably superior in every respect, no one ever seemed to build anything with it.

Programmers in the thread, when was the moment you bailed on lisp? For me it was when I saw some lisp longbeard on a message board answer a newbie's question by pasting a script that would have deleted their filesystem. I think it was meant to be some kind of teaching moment. At that point I decided this was maybe too hardcore a language community for me.

I'm curious to hear what broke others, particularly since this message board infamously began as a lisp fan site.


Regarding what lisp is used for, to quote Kent Pitman: But please don't assume this is an exhaustive list, and please don't assume Lisp is only useful for Animation and Graphics, AI, Bioinformatics, B2B and Ecommerce, Data Mining, EDA/Semiconductor applications, Expert Systems, Finance, Intelligent Agents, Knowledge Management, Mechanical CAD, Modeling and Simulation, Natural Language, Optimization, Research, Risk Analysis, Scheduling, Telecom, and Web Authoring just because these are the only things they happened to list. Common Lisp really is a general language capable of a lot more than these few incidental application areas, even if this web page doesn't totally bring that out.

And I am certainly not broken.


This is such a tired trope. Scheme, CL and clojure all have people building incredible things with them. Not to mention things like Cisco buying the company behind chez scheme. Ask yourself why. Ask yourself why nubank bought cognitect. Consider spritely goblins being built in scheme. lisp is a weapon.


> all have people building incredible things with them.

what the trope really meant is that why these lisp dialects do not become mainstream despite the sales pitch of it being superior.

The examples mentioned are niche at most. Why is it that you are more likely to see a nodejs app or a java app, if you randomly sampled any software project?


These are not languages for wide masses, TBH; they often require a paradigm shift, and you need to change how you approach the problems. Take, for example, Scheme - it doesn't have for/while loops out of the box, yet you can build a CLOS-like OO system on top of it (which can be considered one of the most powerful OO systems out there). Clojure doesn't allow you to mutate variables but has a killer multithreading ability without complicating the language (compared to Scala or Rust). Common Lisp adds a ton of stuff not found in mainstream languages: CLOS, loop DSL, macros that will generate macros that will create macros, and so on.

Quite similar is with other non-lispy languages: Haskell, OCaml, APL dialects... Yes, they are often superior (code is more concise, expressive, or faster), but the mainstream prefers to stay in the comfort zone of C-like languages and the way of thinking.


>Why is it that you are more likely to see a nodejs app or a java app, if you randomly sampled any software project?

It comes from History. Lisp was way more powerful than anything else but it was ultra expensive as it required special hardware that "hardware accelerated" the Lisp code. The basic Lisp instructions were opcodes.

We are talking about USD 100K-200K of the time for a single machine. Big multinationals discovering oil in Saudi Arabia could pay that(and paid that for 3d visualizations of the terrain explosions tests),big TV networks,multinationals, but it was out of reach for mere mortals.

In normal machines, Lisp was extremely slow as it was interpreted without native opcodes.

The first languages in microcomputers were basically Basic. Microcomputers were toys compared with any serious machines but normal people could buy that.

So programmers started using assembly to bridge the gap between underpowered micro-computers and the serious machines they have seen on their work of had heard about.

Using lots of efficiency tricks they managed to extract more and more power from those machines. More people bought microcomputers, prices went down, machines got more powerful.

Over time efficiency was not as necessary and companies started using C, that evolved into Obj C, and C++, java, python and the languages that we have today like javascript(developed with C tools).

There were billions invested in making that change possible. Billions that Lisp did not get.


Even BASIC on micros was quite limited versus its original version, which had a JIT out of the box, or the early structured ones already on VMS.


Probably because vendors with deep financial pockets specifically designed/developed/selected these languages (JavaScript, Java, ...) to become popular, integrated them into their offerings and invested billions into it? It didn't save SUN (the developer of Java), which got into financial trouble and was bought by Oracle.

Lisp was already at the end of its hype cycle and had entered the death zone (-> the AI winter end 80s), when the Internet took off start/mid 90s. L*** was a forbidden word in the 90s.


The trope is tired because it's been true for so many decades


Unfortunately, the story about script wiping the filesystem is... well known, though I don't necessarily want to search the archives for it right now.


I’m sorry you had that experience. I came to Lisp in the 90’s, forged in the fires of many a comp.lang.lisp flame war. But I’ve not seen anything like you describe.

And I’ve not seen anything like that in the, albeit casual, contact I’ve had with the Lisp community since then (mostly IRC). I think the Lisp community has always been quite friendly. Especially today.

Just my experience, I wouldn’t let that one experience drive you away. Modern books a projects in the field are excellent and exciting.

To your question, I’ve never really left Lisp, it’s just not been a good fit with my work or colleagues. But I will forthrightly say I’ve argued against it when a developer wanted to incorporate Clojure into our enterprise project. I didn’t feel it was worth introducing for a couple hundred lines of code since nobody else on the team knew it.


He's referencing an infamous c.l.l thread where pjb wrote some code that would delete all files in your hard drive.[1]

I find it silly to disregard a whole family of languages over a well-known nuisance on c.l.l, but I do not blame the poster. The proverb "one rotten apple spoils the bunch" comes to mind. In any case, this isn't the only place where pjb was simply toxic and encouraging people to stay away from a community or programming language. There is another infamous post of his on comp.lang.objective-c that is simply rude, no way to justify it.[2]

[1] https://groups.google.com/g/comp.lang.lisp/c/iKNvssI5pE4

[2] https://groups.google.com/g/comp.lang.objective-c/c/q8Emsjoy...


> I find it silly to disregard a whole family of languages over a well-known nuisance on c.l.l

For years, c.l.l was plagued by a trolling Ruby advocate, who included blatantly racist content in some of his posts and signature lines.

So, don't use Ruby.


It wasn’t just pjb though. Even on the linked thread you can see another regular, not quite defending pjb for trying to wipe someone’s hard drive, being rude to the new user. And of course the name Erik Naggum is infamous.

I don’t know what the state of the community is these days, and I don’t know if a toxic community alone is a good reason to avoid a tool if it’s best-in-class. But the Lisp community definitely had a problem back then.


I don't think the "Lisp community" generally had a problem. What you remember was on an unmoderated Usenet group and by two people. Usenet was mostly unmoderated. What that means can everyday be experienced on 4Chan, 8chan, Twitter, Telegram, certain subreddits and other current social media channels - just in a million times amplified way.

Hackernews, btw. is moderated and posts/comments can be deleted by the moderators. comp.lang.lisp was not moderated.

The Lisp community at that time was much larger and way more diverse, spread over a lot of communication systems (often via Mailing lists), Universities (US with some other countries joining), R&D institutions and companies. In the very early days Usenet was only used by a small group of people (many Students and Academics), later also there were also personal accounts and private access.

Blaming the "Lisp community" now and then for the toxic behavior of two people on an unmoderated Usenet forum decades ago is not fair. In any large enough group one likely will find toxic people, that should be of no surprise.

I was participating in that Usenet forum and I never liked the toxic behavior of a few people and from the trolls (people poisen the technical discussion just for fun). This created a lot of heated discussions.


pjb is very knowledgeable and helpful on IRC these days, though. People change . . .


> And I’ve not seen anything like that in the, albeit casual, contact I’ve had with the Lisp community since then (mostly IRC).

I spent a lot of time in an IRC channel with a Scheme guy who would get mad whenever anyone mentioned JavaScript, because it'd given up its Scheme syntax, and insist on calling it "ECMAScript". I dunno though, that was probably just him.

Most of the internet's experience with Lisp comes from famously abusive people like Stallman and Erik Naggum though. Everyone else decided, like Norvig, that JS and Python were "enough like Lisp".

The most useful things I know of built in a Lisp are Crash Bandicoot games and the sandbox system in Mac OS X. But both of those left out the garbage collector, which is one of the main things Lisp programmers would always act endlessly superior about.


The people using trains, buses or cargo trucks managed by Siscog, hardly know they owe their schedules to a Lisp.

Like anyone using Google's travel infrastructure, based on ITA.


Or people who fly on planes built partially using ICad and or Genworks GDL (both Common Lisp) or maintained using Clojure (One of recent~ish airliners has diagnostic packages for maintenance techs done in Clojure)


If referring to TinyScheme being used for sandboxing, that still uses garbage collection.

https://github.com/sungit/TinyScheme/blob/master/tinyscheme-...


GCC also uses garbage collection during the compilation process, but that doesn't make it happen at runtime or C a Scheme.


Okay, cool, but the collector is used at runtime with TinyScheme. _cons calls get_cell calls get_cell_x calls _get_cell calls gc for example; what makes you think otherwise?


The system I'm talking about uses TinyScheme as a code generation system, but doesn't use it as an interpreter in-kernel afaik.


Right. I found <https://www.ise.io/wp-content/uploads/2017/07/apple-sandbox....> which agrees with you (on page 9). Guess it's down to defining "at runtime" now; the TinyScheme code (and GC) and Scheme code for the sandbox definitions are shipped to a user of macOS, and the user can invoke sandbox-exec with new sandboxing definitions (e.g. <https://jmmv.dev/2019/11/macos-sandbox-exec.html>), running TinyScheme and Scheme code. So I'd think Scheme is part of the entire sandbox system, even if not in the kernel?


Sounds like it is not surprising that it does not use a GC at runtime, given that it does not use Scheme at runtime.


>The most useful things I know of built in a Lisp are Crash Bandicoot games and the sandbox system in Mac OS X

You mean apart from e.g. all Emacs packages, AutoCAD, or, well, HN?


I said "most useful" not "all useful".

…HN isn't that useful.


So, Crash Bandicoot is more useful than Emacs or AutoCAD in your scale?


I find it very useful. Even "most useful". Interacting with it almost daily.


As opposed to Crash Bandicoot?


Yes.


>The most useful things I know of built in a Lisp are Crash Bandicoot games [...] But both of those left out the garbage collector, which is one of the main things Lisp programmers would always act endlessly superior about.

GOAL was a target DSL in Common Lisp, so garbage collection was still aiding the development.


Why are you writing in English? Some notable serial killers were English speakers. Never mind hard drives, they wiped out entire persons.


Because of the wide install base and huge number of legacy speakers. My native language is much more elegant.


I visited your country and was pickpocketed there. It might not even have been your countryman, since it was at an international airport terminal, but I've nevertheless given up on the language since. Too hard-core a place for me to visit, you know?


Not broken. Use it everyday.


The graphics in the demo gave me the same vibe as the "Money for Nothing" music video by the Dire Straits. Does anyone know if that video was produced with such a machine?


That video is mentioned to be created with th Bosch FGS-4000 system and a Quantel Paintbox.


It's just the zeitgeist.


What does “symbolics” mean in this phrase?

Why was it considered so important that it’s the first word in the name?


As giantrobot said, Symbolics is the name of the company. I'd like to expand more on why. One feature that is relatively unique to Lisp is that it has a symbol type. Lisp code can use this type to represent Lisp code - making macros and dynamic code generation / evaluation a breeze. The name is a reference to this feature of Lisp.

https://en.wikipedia.org/wiki/S-expression


Thank you so much, this makes a lot of sense and makes it clear why the Symbolics word was used to name the company.


Symbolics was the name of the company. [0]

[0] https://en.m.wikipedia.org/wiki/Symbolics


Quite interesting moments in our history around these “vector spaces” https://en.wikipedia.org/wiki/IntelliCorp_(software)


I wonder how many times we have reinvented the wheel

Kinda like the Antikythera mechanism, something really old that when discovered in the future seems way ahead of its time


True, true, after all, isn't Star Wars a documentary?

> A long time ago in a galaxy far, far away....


Thank you!




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: