[racket] instantiating multiple sandboxes with gui's

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Sat Apr 5 17:15:15 EDT 2014

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!


On Saturday, April 5, 2014, Robby Findler <robby at eecs.northwestern.edu>

> It is not a difficult change to the code I saw to get this to always work.
> On Saturday, April 5, 2014, Greg Hendershott <greghendershott at gmail.com<javascript:_e(%7B%7D,'cvml','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/2bcd95a0/attachment.html>

Posted on the users mailing list.