Re: Question about Symbols and GlobalSymbolRegistry

2015-01-27 Thread Brendan Eich

Axel Rauschmayer wrote:

So there's no need for this


There is one use case (admittedly a rather hypothetical one): 
serializing the Symbol.* symbols to a text format (e.g. an encoding in 
JSON).


Symbols that user-code puts into the registry do not serialize this way, 
so why should the well-known ones?


If you want to write a JSON helper-pair (toJSON or a replacer, with a 
correponding reviver, I think), then you can indeed serialize and 
deserialize symbols. But there's no ES6 backstage default-wiring from 
JSON to Symbol.for/keyFor.


/be
___
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss


Re: Question about Symbols and GlobalSymbolRegistry

2015-01-27 Thread Axel Rauschmayer
> On 28 Jan 2015, at 00:06, Brendan Eich  wrote:
> 
> Axel Rauschmayer wrote:
>> It may make sense to add them. Their identifiers would have to be as 
>> unambiguous as possible, e.g. URIs such as 
>> "http://ecmascript.org/symbol/foo";.
> 
> Symbol.iterator and the other well-known symbols are self-same in all 
> connected realms. See 
> http://people.mozilla.org/~jorendorff/es6-draft.html#sec-well-known-symbols.
> 
> So there's no need for this

There is one use case (admittedly a rather hypothetical one): serializing the 
Symbol.* symbols to a text format (e.g. an encoding in JSON).

> (and URLs suck for such things; plus, you probably mean URIs, but I don't 
> care enough to check!).

Yes, I mean URIs(?)

-- 
Dr. Axel Rauschmayer
a...@rauschma.de
rauschma.de



___
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss


Re: Question about Symbols and GlobalSymbolRegistry

2015-01-27 Thread Brendan Eich

Axel Rauschmayer wrote:
It may make sense to add them. Their identifiers would have to be as 
unambiguous as possible, e.g. URIs such as 
"http://ecmascript.org/symbol/foo";.


Symbol.iterator and the other well-known symbols are self-same in all 
connected realms. See 
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-well-known-symbols.


So there's no need for this (and URLs suck for such things; plus, you 
probably mean URIs, but I don't care enough to check!).


/be
___
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss


Re: Question about Symbols and GlobalSymbolRegistry

2015-01-27 Thread Axel Rauschmayer
It may make sense to add them. Their identifiers would have to be as 
unambiguous as possible, e.g. URIs such as "http://ecmascript.org/symbol/foo 
<http://ecmascript.org/symbol/foo>".


> On 27 Jan 2015, at 23:55, Jordan Harband  wrote:
> 
> They are not - if they were, then adding a new well-known symbol like 
> Symbol.foo would fail if anyone had code that did `Symbol.for('foo')`. (I 
> have no idea if that is the reason, but certainly that's a reason not to make 
> them available via the registry)
> 
> On Tue, Jan 27, 2015 at 2:32 PM, Cyrus Najmabadi  <mailto:cyr...@microsoft.com>> wrote:
> Hi esdiscuss.  A couple more questions.
> 
>  
> 
> 1)  Are the built-in symbols (like ‘Symbol.iterator’) in the 
> GlobalSymbolRegsitry?
> 
> 2)  If so, what are their keys?  i.e. how would one reach Symbol.iterator 
> using Symbol.for(…)?
> 
>  
> 
> Thanks!
> 
>  
> 
>  -- Cyrus
> 
>  
> 
>  
> 
>  
> 
> From: Kevin Smith [mailto:zenpars...@gmail.com <mailto:zenpars...@gmail.com>] 
> Sent: Wednesday, January 21, 2015 5:16 PM
> To: Cyrus Najmabadi
> Cc: Jason Freeman; es-discuss
> Subject: Re: Question about Symbols and GlobalSymbolRegistry
> 
>  
> 
> 
> > Am I understanding correctly?
> 
> Yes. The argument to the Symbol constructor is just a descriptive string.
> 
> 
> ___
> es-discuss mailing list
> es-discuss@mozilla.org <mailto:es-discuss@mozilla.org>
> https://mail.mozilla.org/listinfo/es-discuss 
> <https://mail.mozilla.org/listinfo/es-discuss>
> 
> 
> ___
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss

-- 
Dr. Axel Rauschmayer
a...@rauschma.de
rauschma.de



___
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss


Re: Question about Symbols and GlobalSymbolRegistry

2015-01-27 Thread Jordan Harband
They are not - if they were, then adding a new well-known symbol like
Symbol.foo would fail if anyone had code that did `Symbol.for('foo')`. (I
have no idea if that is the reason, but certainly that's a reason not to
make them available via the registry)

On Tue, Jan 27, 2015 at 2:32 PM, Cyrus Najmabadi 
wrote:

>  Hi esdiscuss.  A couple more questions.
>
>
>
> 1)  Are the built-in symbols (like ‘Symbol.iterator’) in the
> GlobalSymbolRegsitry?
>
> 2)  If so, what are their keys?  i.e. how would one reach
> Symbol.iterator using Symbol.for(…)?
>
>
>
> Thanks!
>
>
>
>  -- Cyrus
>
>
>
>
>
>
>
> *From:* Kevin Smith [mailto:zenpars...@gmail.com]
> *Sent:* Wednesday, January 21, 2015 5:16 PM
> *To:* Cyrus Najmabadi
> *Cc:* Jason Freeman; es-discuss
> *Subject:* Re: Question about Symbols and GlobalSymbolRegistry
>
>
>
>
> > Am I understanding correctly?
>
> Yes. The argument to the Symbol constructor is just a descriptive string.
>
> ___
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
___
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss


RE: Question about Symbols and GlobalSymbolRegistry

2015-01-27 Thread Cyrus Najmabadi
Hi esdiscuss.  A couple more questions.


1)  Are the built-in symbols (like ‘Symbol.iterator’) in the 
GlobalSymbolRegsitry?

2)  If so, what are their keys?  i.e. how would one reach Symbol.iterator 
using Symbol.for(…)?

Thanks!

 -- Cyrus



From: Kevin Smith [mailto:zenpars...@gmail.com]
Sent: Wednesday, January 21, 2015 5:16 PM
To: Cyrus Najmabadi
Cc: Jason Freeman; es-discuss
Subject: Re: Question about Symbols and GlobalSymbolRegistry


> Am I understanding correctly?

Yes. The argument to the Symbol constructor is just a descriptive string.
___
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss


Re: Question about Symbols and GlobalSymbolRegistry

2015-01-21 Thread Kevin Smith
> Am I understanding correctly?

Yes. The argument to the Symbol constructor is just a descriptive string.
___
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss


Re: Question about Symbols and GlobalSymbolRegistry

2015-01-21 Thread Axel Rauschmayer
Correct. The registry is only accessed via `Symbol.for(key)` and 
`Symbol.keyFor(sym)`. The parameter of `Symbol()` is a description, not a key.



> On 22 Jan 2015, at 01:36, Cyrus Najmabadi  wrote:
> 
> Hi,
>  
> I am reading the Symbol section of the ES6 spec (19.4), and my understanding 
> is that calling the Symbol constructor does *not* add an entry to the 
> GlobalSymbolRegistry. Is that correct?
>  
> For example:
> var s1 = Symbol(“foo”);
> var s2 = Symbol.for(“foo”);
>  
> In this example, s1 and s2 would be two distinct symbols. And in the 
> following example:
>  
> var s1 = Symbol(“foo”);
> var s2 = Symbol.keyFor(s1);
>  
> In this example, s2 would be undefined.
>  
> Am I understanding correctly?
>  
> Thanks,
> Jason
>  
> ___
> es-discuss mailing list
> es-discuss@mozilla.org 
> https://mail.mozilla.org/listinfo/es-discuss 
> 
-- 
Dr. Axel Rauschmayer
a...@rauschma.de
rauschma.de



___
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss


Question about Symbols and GlobalSymbolRegistry

2015-01-21 Thread Cyrus Najmabadi
Hi,

I am reading the Symbol section of the ES6 spec (19.4), and my understanding is 
that calling the Symbol constructor does *not* add an entry to the 
GlobalSymbolRegistry. Is that correct?

For example:
var s1 = Symbol("foo");
var s2 = Symbol.for("foo");

In this example, s1 and s2 would be two distinct symbols. And in the following 
example:

var s1 = Symbol("foo");
var s2 = Symbol.keyFor(s1);

In this example, s2 would be undefined.

Am I understanding correctly?

Thanks,
Jason

___
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss