A ridiculous idea: to recreate the greatest programming environment ever known, as FOSS

Oct 02, 2013 23:23

So here's the thought. From things like reading the Unix Hater's Handbook [PDF] and so on, I get this impression that there was a time when Lisp Machines were widely considered by some very smart people to be the ultimate programmer's tool, the best lever for the intellect, as it were.

But they're all dead and gone now.

What I'm wondering is if the Lisp Machine idea could be resurrected on x86 using only Free Software.

There are several components. ISTM that if they could be brought together, they could form the core of a Free LispM OS for COTS x86 boxes.

Section 1

Part 1: Movitz

Movitz is a bare-metal Common Lisp interpreter for x86.

It doesn't do much - it boots and runs but there's no filesystem or any way to save anything. Someone's written an Emacs-alike editor for it and that's about it.

Part 2: SBCL

Steel Bank Common Lisp is a complete GPL Common Lisp environment. It is, I believe, quite feature-complete and rich.

Part 3: the OS

In 2005, MIT released the source of its LispM OS as open source.

This is nowhere near as mature and rich as Symbolics OpenGenera, but it's a start.

Section 2

Part 4: the weird notation

Probably the biggest thing stopping programmers from other languages investigating Lisp is its odd Polish-prefix-style notation. Old Lisp hands maintain that this is essential to its homoiconicity, but I think that this has been disproved by (e.g.) Dylan, which uses Algol-style algebraic infix notation but (AIUI) retains homoiconicity.

There have been many attempts to offer infix notation for Lisp:
http://xahlee.info/comp/lisp_sans_sexp.html

The one I personally find most readable, from small code snippets, is Dylan, but that is a whole different language. One I thought was lost to history was CGOL.

However, something I only just discovered is that CGOL still exists and is AFAICS it's now freeware... And it works on (some) modern versions of Common Lisp:

So, if CGOL was fixed to work on SBCL, there would be one of the barriers considerably lowered.

Part 5 - the weird editor

The other thing that seems to be generally held is that Emacs is the best editor to use for Lisp coding. But Emacs is rather hard if you're only familiar with computers with late-C20 or C21 GUIs.

However, that too is being resolved, principally in the forms of ErgoEmacs and indeed AquaMacs.

Section 3 - summary

It is probably a very much non-trivial amount of work, but ISTM that there's potential to assemble some existing FOSS tools and components, and from them build something like a rudimentary LispM OS for x86 hardware, and also provide it with something like a more modern, standards-compliant editor and a language that programmers used to C, VB etc. would not find as intimidating and alien as ordinary Lisp.

And if the LispMs really were as good and as much of a pleasure to work on as many claim, that this would be something well worth doing.

lisp, operating systems, foss

Previous post Next post
Up