[racket] instantiating multiple sandboxes with gui's

From: Greg Hendershott (greghendershott at gmail.com)
Date: Sat Apr 5 17:00:42 EDT 2014

> 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. :)


> 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.)

Posted on the users mailing list.