libera/#sicl - IRC Chatlog
Search
16:31:58
beach
By the way, did you see my utterances in #commonlisp where I am more and more convinced that current Common Lisp implementation are too easy to trash to be well suited to an in-image IDE? I think an implementation with multiple first-class global environments could come in handy, so that the user can trash the current environment, without affecting the one the editor is working with.
16:33:18
beach
I mean, it is still possible to execute an IDE in current Common Lisp implementations, of course, but it won't be as stable as some people might expect, given that it shares its global environment with the application(s) being worked on.
16:34:45
beach
With SICL, I want it to be possible for a programmer to trash some aspect of the global environment and either manually start a new fresh one, or get a new one automatically if the current one is no longer viable.
16:36:20
pjb
Note that 100% of the time, (minus epsilon), the state of the editor is persisted on files.
16:41:21
pjb
But for the last two difficult situations I had, one was due to an infinite recursion in an advice on message (in emacs), and the other was a problem with the order of binding and deleting a temporary package to *package*.
16:42:55
pjb
For the infinite recursion, what matters is the safe handling of storage-condition (and stack exhaustion). Having environments could have simplified recovering (some editing operations were impossible), but just correcting the code was sufficient: it wasn't a mutation of the implementation.
16:44:10
beach
pjb: You are right, of course, which is why I still think an IDE will be a valuable tool, even though the current implementations are not great in this respect.
16:44:29
pjb
For the binding to package, I guess that the debugger behavior is sufficiently implementation dependent that it can rebind *package* in case of problem (I think sbcl does it, even); but here it was unrelated to environments. The handling of conditions cannot be performed in different environment, only the debugger can run in its own environment.
16:45:53
pjb
In general, I've got the impression that stack overflows (infinite recursions can come from surprising places) are a bigger problem than mutation of the host system (the IDE or the implementation).
16:45:57
beach
I think we agree. I just wanted to point out that an implementation with first-class global environments would be ideal.
16:47:18
beach
And since I don't think there is any hope that any existing Common Lisp implementation will be completely transformed to use first-class global environments, SICL is probably the best hope for it to happen.
16:48:02
beach
My (admittedly small) family just announced that dinner is served. I'll be back tomorrow. Take care everyone.