[racket] instantiating multiple sandboxes with gui's

From: Sam Tobin-Hochstadt (samth at cs.indiana.edu)
Date: Sat Apr 5 15:00:46 EDT 2014

What if you do this:

    (let l () (with-handlers ([void (l)]) (l)))

This catches `exn:break` (and everything else) and calls `l`.

Sam

On Sat, Apr 5, 2014 at 2:54 PM, Greg Hendershott
<greghendershott at gmail.com> wrote:
>> thread cells are subject to GC and that's fine. The real issue is that I
>> might write a program that does (effectively) this:
>>
>>  > (let l()(l))
>>
>> and then I'm stuck.
>
> Good point, but that's not a problem. A break returns to read-eval-print-loop.
>
> Example transcript:
>
>> (let l () (l))
> C-cC-c
> ; user break
>> (displayln "broken but alive")
> broken but alive
>>
>
> (The double Control-C just being necessary as usual in an Emacs comint-buffer.)
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users

Posted on the users mailing list.