Clementson's Blog

Bits and pieces (mostly Lisp-related) that I collect from the ether.

November 2006
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
Oct  Dec

We'll always have Emacs

Wednesday, November 15, 2006

Many lispers pine for the days of the LispM's and miss the unique development environment that they provided (and which, sadly, is still not equaled on any "modern" OS today). Things like:

For a code hacker, it was nirvana. Unfortunately, the AI Winter and poor business decisions killed off the LispM business. Most people are reduced to just reading old LispM manuals, pouring over historical LispM information/videos, nostalgic discussions, and, occasionally, trying out the old LispM code (either on a still-running LispM somewhere or with an emulator).

However, there are a few who are taking a different approach and are actually trying to create a new LispOS. Although all of these are academic and/or personal projects, it's worth taking note of them: So, there are a number of options for creating a LispOS-like environment (I discussed these with Alastair Bridgewater on IRC and some of this is also discussed in this thread):
  1. New OS Approach: Create a new state-of-the-art LispOS from scratch. This would be fantastic and I'm sure a lot of lisp hackers would love to have such a beast. Movitz is one such example of this approach. However, it is a huge undertaking and, realistically, the chances of a completely new OS succeeding (except as a "niche" product) are pretty slim. Hmm, although somebody probably said something similar to Linus at some stage. ;-)
  2. OSKit Approach: Create a "Developer's OS" on top of a 'base' layer that provides core services. I've called this the OSKit approach as it's what was done in the MzScheme example above. This is a nice approach academically; however, I'm not sure how robust this might be in practice. Potentially, it might allow one to make use of existing (non-Lisp) OS functionality initially and replace it (with Lisp code) over time.
  3. VM Approach: Create a "Developer's OS" on top of a virtualization layer (such as Xen, CoLinux, UML). More OS type functionality would need to be provided; however, the end product might be more "lispy" than #2.
Approaches #2 and #3 I've called "Developer's OS" options in that they primarily target the developer community (with the LispOS feature/functionality) but allow applications to be developed for end users of a "standard" OS. They could supplement or replace current Emacs or IDE-based Lisp development approaches.

So, there are various alternatives that could be taken in the writing of a new LispOS. However, any of these alternatives would take a huge amount of work and the payoff would almost definitely be more in the form of "hacker fame" than fortune. So, unfortunately, the likelihood of a new LispOS actually seeing the light of day is pretty small. :-(

At least, (with apologies to Bogart): We'll always have Emacs.

emacs Copyright © 2006 by Bill Clementson