Comments on Sept Meeting Notes

Mark S. Miller erights at google.com
Thu Sep 26 20:44:26 PDT 2013


I think an adequate registry is exactly the two static methods Allen
proposed:

 Symbol.for(aString) ==> aSymbol

 Symbol.keyFor(aSymbol) ==> aString

where for all strings S

 Symbol.keyFor(Symbol.for(S)) === S

I think we've discussed this before -- it is effectively an interning table
for Symbols. The nice thing about it is that it is not a global
communications channel at all. There's no way to tell if a given string or
symbol has already been registered. The interning table can be weak or not
as the implementation prefers.




On Thu, Sep 26, 2013 at 7:55 PM, Mark S. Miller <erights at google.com> wrote:

> On Thu, Sep 26, 2013 at 7:50 PM, Brendan Eich <brendan at mozilla.com> wrote:
>
>>  Mark S. Miller <mailto:erights at google.com>
>>> September 26, 2013 7:45 PM
>>>
>>>
>>> On Thu, Sep 26, 2013 at 7:12 PM, Brendan Eich <brendan at mozilla.com<mailto:
>>> brendan at mozilla.com>> wrote:
>>>
>>>         Kevin Smith <mailto:zenparsing at gmail.com
>>>         <mailto:zenparsing at gmail.com>>
>>>
>>>
>>>         - Duck typing *must* work across Realms.  Symbols without a
>>>         registry do not.  You can make special cases for built-in
>>>         symbols, but special cases make bad law.
>>>
>>>
>>>     (You learned from me.)
>>>
>>>     I agree world-of-realms matters, in many ways. We can solve this
>>>     more generally, and should. I don't know the timing, but the idea
>>>     that cross-realm local issues stop global progress via symbols is
>>>     a bad trade in general. Must avoid getting stuck at local maximum.
>>>
>>>
>>> In the same spirit of brevity, you have this backwards. Local hill
>>> climbing with no lookahead is how to get stuck at a local maximum.
>>>
>>
>> That's what I wrote!
>>
>> We need a world-of-realms spec. If we have one, probably many problems
>> become easy to solve. If we don't, then arguments against symbols in
>> particular and any world-wide values (value objects) that lack lookahead
>> prevail.
>
>
> Sorry, I misunderstood. In any case, yes.
>
>
>
>>
>>
>>  The lookahead needed here is not agreement on a registry, but at least a
>>> straw registry whose implications we understand. Perhaps we have one, which
>>> is fine. We should examine it as part of this discussion of Symbols.
>>>
>>
>> Why do you assume a mutable, racy registry?
>
>
> Care to propose a better registry?
>
> (I agree that we should disqualify any registry that is also a global
> communications channel.)
>
>
>
>>
>>
>> /be
>>
>
>
>
> --
>     Cheers,
>     --MarkM
>



-- 
    Cheers,
    --MarkM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20130926/c1bba7a5/attachment.html>


More information about the es-discuss mailing list