2 ms·
I actually just read RMS's post on his history with Lisp [1], and I find this is the closest you're going to get as an answer: > At first, I thought of making
by Slackwise 12y ago
I actually just read RMS's post on his history with Lisp [1], and I find this is the closest you're going to get as an answer:
> At first, I thought of making a Lisp-based system, but I realized that wouldn't be a good idea technically. To have something like the Lisp machine system, you needed special purpose microcode. That's what made it possible to run programs as fast as other computers would run their programs and still get the benefit of typechecking. Without that, you would be reduced to something like the Lisp compilers for other machines. The programs would be faster, but unstable. Now that's okay if you're running one program on a timesharing system — if one program crashes, that's not a disaster, that's something your program occasionally does. But that didn't make it good for writing the operating system in, so I rejected the idea of making a system like the Lisp machine.
Which I guess can be interpreted as:
1. Lisp is ideal when the underlying technology/hardware helps it, and at the time, a Lisp-on-common-hardware implementation wasn't going to match that ideal/performance profile.
2. Lisp machines didn't have "time-sharing" (i.e. multi-user environments).
Nowadays, 1 isn't that big of a deal, and 2 could have been done as well, just wasn't a thing at the time.
Personally, I would love to see a modern Lisp Machine.
[1]: http://www.gnu.org/gnu/rms-lisp.html http://www.gnu.org/gnu/rms-lisp.html
- derefr 12y agoThe Erlang abstract machine (BEAM or LING) is pretty close to what I'd expect a modern, timesharing Lisp machine to look like. I wonder whether it's be possible to translate it directly to hardware, or if you'd have to make practical concessions around e.g. reduction-counting.