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

2011-09-03 Thread Sam Tobin-Hochstadt
On Sat, Sep 3, 2011 at 5:37 PM, Matthew Flatt  wrote:
> At Sat, 3 Sep 2011 17:25:58 -0400, Sam Tobin-Hochstadt wrote:
>> On Thu, Sep 1, 2011 at 5:20 PM,   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
sa...@ccs.neu.edu

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


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

2011-09-03 Thread Matthew Flatt
At Sat, 3 Sep 2011 17:25:58 -0400, Sam Tobin-Hochstadt wrote:
> On Thu, Sep 1, 2011 at 5:20 PM,   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?

This isn't some constant that we might change. It's more like writing

 (define FIVE 5)

except that it's so difficult to write the `quote' symbol in C that we
really end up writing the equivalent of

 (define QUOTE 'quote)

sometimes.

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

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


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

2011-09-03 Thread Sam Tobin-Hochstadt
On Thu, Sep 1, 2011 at 5:20 PM,   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?  Can these be shared (other than via
the intern table)?
-- 
sam th
sa...@ccs.neu.edu
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev