[racket-dev] [plt] Push #23424: master branch updated

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Sat Sep 3 17:50:26 EDT 2011

On Sat, Sep 3, 2011 at 5:37 PM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> At Sat, 3 Sep 2011 17:25:58 -0400, Sam Tobin-Hochstadt wrote:
>> On Thu, Sep 1, 2011 at 5:20 PM,  <tewk at racket-lang.org> wrote:
>> >
>> > src/racket/src/place.c
>> > ~~~~~~~~~~~~~~~~~~~~~~
>> > + REGISTER_SO(quote_symbol);
>> > + quote_symbol = scheme_intern_symbol("quote");
>>
>> This is the third definition of 'quote_symbol' in the source.  Are
>> repeated definitions a problem?
>
> It doesn't seem like a problem to me. What did you have in mind?

I was just generically worried about duplicated code.  Looking more
deeply, it seems the only potential problem is one more (very small)
GC root, and root traversal surely isn't the current GC bottleneck.

>> Can these be shared (other than via
>> the intern table)?
>
> A `scheme_quote_symbol' could be defined somewhere and exported to the
> other places. The tradeoff is writing `(define QUOTE 'quote)' multiple
> times versus making a global change.

Make sense.
-- 
sam th
samth at ccs.neu.edu



Posted on the dev mailing list.