[racket] instantiating multiple sandboxes with gui's
A different way of putting this might be that the Emacs way is to be a
lighter-weight environment, and to rely on process mechanisms more than
DrRacket does. I personally like that break always works in DrRacket, but
I can also see taking the other side of these tradeoffs.
Sam
On Apr 5, 2014 5:15 PM, "Robby Findler" <robby at eecs.northwestern.edu> wrote:
> Also (and again FWIW), I see what you are saying as "the OS is also good
> at killing things" which is certainly true. You could just do it that way
> all the time in fact!
>
> Robby
>
> On Saturday, April 5, 2014, Robby Findler <robby at eecs.northwestern.edu>
> wrote:
>
>> It is not a difficult change to the code I saw to get this to always
>> work. FWIW.
>>
>> On Saturday, April 5, 2014, Greg Hendershott <greghendershott at gmail.com>
>> wrote:
>>
>>> > What if you do this:
>>> >
>>> > (let l () (with-handlers ([void (l)]) (l)))
>>> >
>>> > This catches `exn:break` (and everything else) and calls `l`.
>>>
>>> Then I would type C-c C-k yes to kill the buffer. :)
>>>
>>> And then I would re-read the documentation for `with-handlers`, which
>>> recommends not to do that. :)
>>>
>>> Seriously:
>>>
>>> > Robby's answers in this thread are about exactly that -- DrRacket is
>>> > very robust against bad behavior by user programs. The "Programming
>>> > Languages as Operating Systems" paper is about exactly these
>>> > questions.
>>>
>>> Yes, and it's impressive, and I'm relieved that I don't need to go to
>>> those lengths.
>>>
>>> As Spencer pointed out, the spirit of this is more like xrepl. In
>>> fact, I could probably just use xrepl if it had a ,run command like
>>> this (as an alternative to ,enter). (If I can ever sort this out
>>> cleanly enough to do so, I'll submit a PR to add that.)
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20140405/aefd51fa/attachment.html>