5 ms·
It's hard to convey in words how convenient this is. Sometimes when you're debugging, you want to do file system things. In Unix you'd somehow switch out of t
by larsbrinkhoff 3y ago
It's hard to convey in words how convenient this is. Sometimes when you're debugging, you want to do file system things. In Unix you'd somehow switch out of the debugger to the shell (type ^Z or switch window, or something), do the thing, and then go back. With ITS you can just do it right away, and it somehow feels so right. Similarly, the debugger-shell has built-in math operators, so it can be your desktop calculator without switching context.
The system is wide open to a fault, even extending to the "kernel" memory image being available for debugging with just a few keystrokes.
- gumby 3y agoIt should be no surprise that the lispm had a similar experience. Instead of a shell it had a REPL of course but the debugger was always entered when something went wrong, and of course it was trivial to fix something and continue. Bill Gates once laughed to my face when I described this as a feature.
- DonHopkins 3y agoReposting this from the 2014 HN discussion of "Ergonomics of the Symbolics Lisp Machine": https://news.ycombinator.com/item?id=7878679 https://news.ycombinator.com/item?id=7878679 http://lispm.de/symbolics-lisp-machine-ergonomics http://lispm.de/symbolics-lisp-machine-ergonomics https://news.ycombinator.com/item?id=7879364 https://news.ycombinator.com/item?id=7879364 eudox on June 11, 2014 Related: A huge collections of images showing Symbolics UI and the software written for it: http://lispm.de/symbolics-ui-examples/symbolics-ui-examples.html http://lispm.de/symbolics-ui-examples/symbolics-ui-examples.... agumonkey on June 11, 2014 Nice, but I wouldn't confuse static images with the underlying semantic graph of live objects that's not visible in pictures. DonHopkins on June 14, 2014 Precisely! When Lisp Machine programmer look at a screen dump, they see a lot more going on behind the scenes than meets the eye. I'll attempt to explain the deep implications of what the article said about "Everything on the screen is an object, mouse-sensitive and reusable": There's a legendary story about Gyro hacking away on a Lisp Machine, when he accidentally trashed the function cell of an important primitive like AREF (or something like that -- I can't remember the details -- do you, Scott? Or does Devon just make this stuff up? ;), and that totally crashed the operating system. It dumped him into a "cold load stream" where he could poke around at the memory image, so he clamored around the display list, a graph of live objects (currently in suspended animation) behind the windows on the screen, and found an instance where the original value of the function pointer had been printed out in hex (which of course was a numeric object that let you click up a menu to change its presentation, etc). He grabbed the value of the function pointer out of that numeric object, poked it back into the function cell where it belonged, pressed the "Please proceed, Governor" button, and was immediately back up and running where he left off before the crash, like nothing had ever happened! Here's another example of someone pulling themselves back up by their bootstraps without actually cold rebooting, thanks to the real time help of the networked Lisp Machine user community: ftp://ftp.ai.sri.com/pub/mailing-lists/slug/900531/msg00339.html