Nice - this is useful to me too, thanks very much. FWIW, instead of
  make-base-namespace
I had to use
  make-gui-namespace
to avoid a "cannot instantiate `racket/gui/base' a second time in the
same process" error.


On Thu, Feb 9, 2012 at 10:15 PM, Robby Findler
<ro...@eecs.northwestern.edu> wrote:
> On Thu, Feb 9, 2012 at 9:12 PM, Eli Barzilay <e...@barzilay.org> wrote:
>> The other way is what gets you what you want: you need to use
>> `sandbox-namespace-specs' to make the sandbox share an instance of the
>> necessary modules between your own code and the sandbox, so that
>> structs in the sandbox are the same type as your own.  Here's a quick
>> example:
>>
>>  #lang racket
>>  (require racket/sandbox 2htdp/image)
>>  (define ev
>>    (parameterize ([sandbox-namespace-specs
>>                    (list make-base-namespace '2htdp/image)])
>>      (make-evaluator 'racket #:requires '(2htdp/image))))
>>  (image? (ev '(rectangle 2 2 'solid 'blue)))
>
> This is what I meant by "complex (fiddling with namespaces)" but I see
> that happily it isn't complex and the sandbox happily does the
> fiddling for you.
>
> Robby
>

____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to