SYMBOLICS S-PACKAGES 3D GRAPHICS AND ANIMATION DEMO
Red Martian4 HN recommenders · recommended in 4 months, 2014–2026
demo · general · evergreen · 2014–2026 on HN
A demo of the Symbolics Graphics Division's S-Packages, a Lisp-based 3D color graphics and animation system from the 1980s. It was later used in developing for the Nintendo 64.
HN cites it as a startling example of how advanced Lisp machine interactive graphics were, often in Lisp and REPL-driven development discussions.
Up next
6 mo on HNCppCon 2017: Carl Cook “When a Microsecond Is an Eternity: High Performance Trading Systems in C++”
CppCon
5 HN recommender · 2017–2025
2 mo on HNCppCon 2014: Herb Sutter "Back to the Basics! Essentials of Modern C++ Style"
CppCon
2 HN recommender · 2014–2021
7 mo on HNCppCon 2015: Kate Gregory “Stop Teaching C"
CppCon
7 HN recommender · 2016–2025
4 mo on HNEdwin Brady - Idris 2 - Type-driven Development of Idris
Curry On!
4 HN recommender · 2019–2023
5 mo on HNEric Bier Demonstrates Cedar
Computer History Museum
3 HN recommender · 2020–2025
4 mo on HNCppCon 2016: Herb Sutter “Leak-Freedom in C++... By Default.”
CppCon
2 HN recommender · 2016–2025
3 mo on HNCppCon 2016: Dan Saks “extern c: Talking to C Programmers about C++”
CppCon
2 HN recommender · 2017–2025
4 mo on HN"A Political History of X" - Keith Packard (LCA 2020)
linux.conf.au
4 HN recommender · 2020–2025
15 mo on HNAT&T Archives: Similiarities of Wave Behavior (Bonus Edition)
AT&T Tech Channel
12 HN recommender · 2014–2026
14 mo on HNMicro Men - 720p (2009)
gimpymoo
15 HN recommender · 2015–2026
11 mo on HNLight Years Ahead | The 1969 Apollo Guidance Computer
TNMoC
11 HN recommender · 2021–2026
12 mo on HNMechanical Computer (All Parts) - Basic Mechanisms In Fire Control Computers
Excelsior10000
13 HN recommender · 2014–2025
12 comments from Hacker News
For whatever reason I really enjoyed the Symbolics graphics and animations demo[0] linked in the article. I was born in the 90s and have constantly heard the narrative that technological progress is getting faster and faster, and that we're currently at the forefront. And then I see something like this. They had basically photoshop before I was even alive!? [0] ▶ this video
See these demos for the kinds of interactive systems LISP enabled back in the day: link ▶ this video It makes working on VSCode today look like banging rocks together, let alone 30 years ago.
I'm glad the middle screen is explained, Symbolics always gets overshadowed by SGI. If you want to see it in action, watch this: ▶ this video
Be prepared to be amazed with what Xerox PARC and others were doing, while Bell Labs was busy pushing for UNIX. "Eric Bier Demonstrates Cedar" link "Emulating a Xerox Star (8010) Information System Running the Xerox Development Environment (XDE) 5.0" link "Documents as User Interfaces Video Demo" link "SYMBOLICS S-PACKAGES 3D GRAPHICS AND ANIMATION DEMO" ▶ this video "Alto System Project: Dan Ingalls demonstrates Smalltalk" link "Action!, the worlds first dynamic interface builder - 1988" (Interface Builder percursor, written in Lisp) link "The Interlisp programming environment" link And the cherry, how Lucid used Lisp ideas for their Energize C++ IDE, including an image based format for AST storage link link
The example on the linked video it isn't, correct. Here is another video, this time with S-PACKAGE used to develop Nintendo 64. ▶ this video Which given the REPL capabilities, you can easily embedd them on it, just like the other video.
SBCL REPL cannot do this on xterm, it needs a proper hosting REPL environment like SLIME, which is no wonder, given how Emacs came to be and the interaction with genera. Inline graphics from 1981, link Or using S-PACKAGE used to develop Nintendo 64. ▶ this video You are missing integration with live debugging, calling anything on the OS during a REPL session, e.g. OS APIs, calling into automation points of the OS, Can try out directly on the browser, courtesy of WebAssembly and recovery of Xerox PARC software, link . Or get either Squeak or Pharo, and see how using the Transcript integrates with the whole platform Windows, with either PowerShell ISE, or its new VSCode integration, are the closest to these kind of experiences. To finalise with Xerox PARC view on UNIX, from 1989 "UNIX Needs A True Integrated Environment: CASE Closed" link
You're very welcome. Computer graphics has a very interesting history, and like many things, there's a lot to learn from studying it. Surprisingly, many techniques and principles are still relevant to this day. Thankfully, the Internet is full of documentation, post-mortem accounts and reference implementations to learn more about all this. Here's a bunch of random noteworthy things and references I forgot to link (sorry for potentially digging rabbit holes): The best information tends to come from official documentation detailing almost everything you want to know about the inner workings of systems. Additionally, unofficial community documentation can also be of great quality and complement official sources. The architecture overview posts from Rodrigo Copetti ( link ) pack a lot of accurate information at a glance, and are a great starting point if a specific topic piques your interest. The Resident Evil 2 microcode post-mortem: link Improved lighting, reverberation, Dolby surround and MP3 microcodes from Rare: link H.264 decoding microcode: link The Reality Signal Processor's programming guide: link Emulators' progress reports can reveal a lot about the details and intricacies required for accurately replicating these systems' features: link is one such amazing source of information, but all other major emulation efforts have equally interesting content. Transparency sorting of surfaces ( link ) is a hard problem to solve for traditional scanline renderers (
Wings3D's UI workflow is really nice for 3D mesh modeling (it was actually inspired by the Symbolics 3D animation system [1]). Blender feels very cumbersome when you learned 3D modeling with Wings. It's really unfortunate that they chose to implement it in a language (ERLANG) that severely limits the number of people that can contribute to the software, and as a result, the development of Wings sort of stagnates. [1] ▶ this video
On Oberon, Mesa/Cedar and Lisp Machines, the experience extends to the whole OS and any application, or REPL, not just a plain text editor. Althought I haven't mentioned, Smalltalk also provides a similar experience. Here are some videos that try to convey it, from my playlists, "Eric Bier Demonstrates Cedar" link "Emulating a Xerox Star (8010) Information System Running the Xerox Development Environment (XDE) 5.0" link "SymbolicsTalk28June2012" "SYMBOLICS S-PACKAGES 3D GRAPHICS AND ANIMATION DEMO" ▶ this video "Symbolics Lisp Machine demo Jan 2013" link The Native Oberon demos available at link
Lisp has a long history in computer graphics. It was particularly popular in the 1980s. There was Symbolics, a manufacturer of Lisp workstations (sometimes also remembered as the first company to register a .com domain). Symbolics had a Lisp-programmable 3D graphics suite that seems to have been fairly successful at the end of the decade. Here’s a video from 1989: ▶ this video The video doesn’t seem to show any Lisp though. On the 2D side, the immensely popular AutoCAD adopted Lisp as its expansion language in 1985. Autodesk founder John Walker explains the decision in this contemporary memo “Why Lisp”: link
Reminds me of Symbolics S-PACKAGES from the 1980s... (also LISP) ▶ this video Edit: looks like someone beat me to it below
Genera on the Lisp Machine is very much an embodiment of this graphical command line (or rather just command) user interface. There's quite a lot to it. CLIM (and the open source McCLIM) is the current realisation of this. There's some documentation about 'Commands' in CLIM II here for example: link Commands are first class objects which live in command tables and which CLIM can look at to generate bits of UI and allow parameters to be specified. Central to this in CLIM is the idea of presentations - where domain objects are 'presented' onto the screen and the link to the domain object is maintained. That way you can invoke a command on that object in various ways, for example you can type a command name and then click a presented object which is acceptable as a parameter. The Symbolics S-packages used these concepts to make (I presume) powerful 3d modelling programs back in the day (I haven't used them): ▶ this video - sorry for the poor video quality. link (lispm on here) sometimes posts interesting things about Genera