Domenic Denicola wrote:
Reading through [the meeting notes][1]:

YK: You don't need unique symbols when you can just expose private symbols.

BE: Why can't we just have (private) Symbols

BE: Can we unwind the split between private and unique?

These struck a chord with me. Thus, in the spirit of

BE: We aren't going to resolve this now, need to take it to es-discuss

I thought I'd start off the thread.

I believe the proposal is to not have "public" symbols, i.e. you cannot find 
any symbols via `getOwnPropertyKeys` or other such operations when given an object. 
However, if someone hands you the symbol object itself, you can of course use that to 
access the property's value. This would be sufficient for all the ES spec built-ins and 
would also provide truly private state for those that don't export their symbols.

The interaction with proxies is complicated, but if I recall had been mostly 
solved.

That's about right, although the details need to be agreed upon.

Symbols would be not reflected easily (not via getOwnPropertyKeys), and would relationship-proxy as sketched in

http://wiki.ecmascript.org/doku.php?id=strawman:relationships.

But note how that strawman accentuates the differences between unique and private symbols. But let's say we only have "private" symbols and their exposure is up to the reference holder: they can be exported from modules to become "public", published via the heap as named values, etc.

This seems to neatly separate concerns, but Arv pointed out that for some proxy cases it won't work. I forget what he said exactly, though. Cc'ing him.

/be

Would love to get some discussion on this, as to me it seems like a much 
stronger alterative than abandoning symbols altogether in favor of GUIDs.

[1]: 
https://github.com/rwldrn/tc39-notes/blob/master/es6/2013-07/july-25.md#51-symbol-primitive-value-or-object-one-more-time
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to