I wish we had a FOSS clone of Symbolics Genera back in the 1990s when workstations were powerful enough to be able to run environments in high-level, garbage-collected languages like Common Lisp and Smalltalk. Unix is nice, but I’m impressed with the flexibility of environments like Smalltalk-80 (and its derivatives) and Symbolics Genera. Imagine the impact an open source Lisp OS would’ve had in the 1990s and the 2000s.
Thankfully Xerox’s Interlisp-D is now available as open source. Hopefully one day Genera will be open source.
The FOSS clone was called CMUCL. There was no Lisp Operating System for "normal" hardware at all (proprietary or not), this was the next best thing. For a good Lisp-based development system one also does not need to make it an "operating system".
CMUCL was basically licensed as public domain. It was based on the stripped down version of Lisp Machine Lisp, called Common Lisp and it ran on UNIX systems. It came with its own IDE built around an EMACS clone called Hemlock.
It is great that we have solid FOSS implementations of Common Lisp. I am partial to SBCL, which is derived from CMUCL, and I also like Armed Bear Common Lisp in situations where I want to use the Java virtual machine. I’m also glad that Lisp didn’t die when Lisp machines did; many people were able to migrate from Lisp machines to other platforms thanks to Common Lisp compilers.
Still, there’s something very appealing about an operating system built on top of an object-oriented environment. I’m not talking C++ or Java, but I’m talking about the types of dynamic environments made easier with Smalltalk or CLOS. There were many explorations of desktops built using dynamic objects. The closest we’ve gotten to this commercially was NeXTstep/OPENSTEP/Mac OS X, which makes heavy use of Objective-C. Étoilé, a project from the late 2000s that used GNUstep, would’ve been another interesting evolution in this direction, and I also like projects like Pragmatic Smalltalk (from Étoilé) and Objective-Smalltalk that aimed to build a Smalltalk using an Objective-C base. I also know that Microsoft’s COM tried to achieve component-based systems by trying to make a common substrate that doesn’t rely on dynamically-typed OO languages like Smalltalk and Common Lisp. Of course, neither macOS or Windows take things as far as the Smalltalk-80 environment does, and I dream of what can be created using CLOS.
But, hey, it’s not too late. A Lisp OS is my dream side project.
5 comments
[ 3.0 ms ] story [ 24.7 ms ] threadThankfully Xerox’s Interlisp-D is now available as open source. Hopefully one day Genera will be open source.
CMUCL was basically licensed as public domain. It was based on the stripped down version of Lisp Machine Lisp, called Common Lisp and it ran on UNIX systems. It came with its own IDE built around an EMACS clone called Hemlock.
Still, there’s something very appealing about an operating system built on top of an object-oriented environment. I’m not talking C++ or Java, but I’m talking about the types of dynamic environments made easier with Smalltalk or CLOS. There were many explorations of desktops built using dynamic objects. The closest we’ve gotten to this commercially was NeXTstep/OPENSTEP/Mac OS X, which makes heavy use of Objective-C. Étoilé, a project from the late 2000s that used GNUstep, would’ve been another interesting evolution in this direction, and I also like projects like Pragmatic Smalltalk (from Étoilé) and Objective-Smalltalk that aimed to build a Smalltalk using an Objective-C base. I also know that Microsoft’s COM tried to achieve component-based systems by trying to make a common substrate that doesn’t rely on dynamically-typed OO languages like Smalltalk and Common Lisp. Of course, neither macOS or Windows take things as far as the Smalltalk-80 environment does, and I dream of what can be created using CLOS.
But, hey, it’s not too late. A Lisp OS is my dream side project.
[1] https://tumbleweed.nu/lm-3