Lisp OS: what has been lost: Kent Pitman
groups.google.com
groups.google.com
Kind of sad, really, but I suppose it's the kind of sadness that Smalltalk mavens experience when looking at modern OO systems.
And I still joke to my Java-loving friends how ST-80 made Java'09 look primitive.
Lisp purists will probably slam me for this (with adequate justification) but I prefer the modern Lisp ecosystem with:
* both free/open source and commercial Lisp environments
* free deployment using open source systems like SBCL, etc. (In ancient history, I only used my 1108 for marketing prototypes and research because there was no reasonably priced deployment strategy)
* when I do want a persistent heap setup, I use SBCL and dump new images as I work. I don't often use this mode unless I have a lot of data that I am using over a long period of time - otherwise reloading source at the beginning of each work session is OK.
* emacs + slime is a good environment
If you want image based development, I would suggest that you try Squeak Smalltalk (liberal open source license) or Cincom Smalltalk (modest cost, good support and features, and a good deployment strategy). I think that using Cincom is totally free until you start making money with it.
If someone wants to help me around with the hardware and software, I would love to help building such an animal.
I suppose the Symbolics stuff is buried under tons of patents, IP and other legal nightmares to be rescued right now.
EDIT: Except for the whole-machine-IDE thing, obviously. Although if you wanted to hand-hack assembler, you could, as far as I remember.
You programmed in the absolute using the alt-numpad method to input arbitrary bytes, at least to bootstrap yourself.
Besides, when you're rooted it's game over anyway.
We'd see this problem a lot with calling conventions (C-style vs Pascal-style vs pretty much any weird thing you found a reason to do) if our gdb-based debuggers tried harder to figure out what was going on. Luckily, they rarely really bother and are wrong constant anyway about things like optimization -- they're built to do fairly little and live in constant confusion, so we don't get that problem.
And for the record, I like gdb and company. But every so often I get a wet dream about being able to have a debugger that could show me useful representations of objects and what they do. Things are better in Ruby-land, but still not actually, like, good.
They had a radical open system, and defended it (yes, it was early in the life of the ARPAnet/Internet) with great backups and social pressure.
The LispMs were not much different.
What hard and requires GUI designers as well as programmers, is writing a GUI that puts the relevant information at the users finger tips in a way that's understandable, that users can easily take-in.
Relevant, relevant, relevant! Understandable, understandable, understandable!
These are just two words but implementing them is a hard, cross-discipline problem. What's telling is these consideration often don't even enter programmer's discussions about GUIs.
All of the state information is available via the filesystems (including procfs/sysfs) and environment variables -- on a modern system you don't even need to exec.
Can I stop a Unix kernel, view + modify the line of source corresponding exactly to where it halted, and resume?
Notice something? Poorly designed UIs tend to cram every bit of information as densely as they can.
I don't think so. In most cases the relevant information doesn't even have a formal representation (ex: it's "hidden" in turing-complete code) at the application level so it's literally impossible to get at this information unless you rewrite that application. What you need is support from the OS that lets you write "semantics-preserving" programs easily.
He wrote all that in TECO? What is wrong with this man?
And if Kent was such a big fan of Lisp, why was he writing "impossible do on Lisp Machines" programs in Teco? They could be written in Teco but not in Lisp?
Kent said that he implemented things in TECO that people thought were possible only on the Lisp Machine. Writing software on the Lisp Machine was usually easier than, say, in TECO.
> Lisp Machines from Symbolics, LMI and TI were later based on the hardware and software from the MIT, but they used new processors and the OS was extended.
Ok, after some more reading, I think I'm getting the picture. Genera was the OS on the Symbolics Lisp machines, and the MIT Lisp machines ran some other similar OS. Genera's roots though were in the code from MIT.
> Kent said that he implemented things in TECO that people thought were possible only on the Lisp Machine.
Right. I don't get this. If he's a fan of Lisp machines, why bother spending time implementing solutions to tough problems in TECO instead of whatever Lisp his Lisp machines were running?
Because he wasn't so big a fan of Lisp Machines that he didn't get annoyed by their fanboys. He's relating this annecdote to demonstrate that he is not sijmply a die-hard Lisp Machine afficianado who can't let go.
TECO was THE editor for years - on PDPs. Its macros look like line noise (if you know what I mean). Emacs was 'invented' as a bunch of Editor MACroS for TECO. Now comes a new generation of machines (personal workstations). Kent was young and tried to show them that with software written TECO could do stuff like Zmacs (the first Emacs written in Lisp) or Zmail (a Zmacs-based mail-reader). TECO died anyway. The Emacs for Multics was also written in Lisp and got popular among Multics users.
TECO was available for everyone who had access to a terminal that had some connection to a PDP (or similar). The Lisp Machine OS had this $100000 hardware dongle - the Lisp Machine.
RMS has been deathly afraid of losing total control over developer tools -- GCC's whole architecture was purposely designed to frustrate anyone trying to write out-of-tree code that handles/produces any of its internal representations (which is why companies are pouring money into llvm/clang). Imagine the bricks he would shit if emacs was a useful target for external compilers!
This is Kent M Pitman replying to cba...@2xtreme.net (Christopher R. Barry)