Re: Symbol history

2018-06-01 Thread kai zhu
> As far as the spec is concerned... > > Symbols were introduced in draft 12 of ES6. > They were defined as a kind of exotic object, stateless and immutable. > > In draft 15, Symbol became a primitive type. > In draft 16, it went back to being a kind of exotic object. > In draft 19, it went back

Re: Symbol history

2018-05-29 Thread T.J. Crowder
Thanks all! On Mon, May 28, 2018 at 7:36 PM, Michael Dyck wrote: > As far as the spec is concerned... Thanks. Sorry Michael, I should have been more clear: I'm talking about the history _leading up_ to the spec. On Mon, May 28, 2018 at 7:33 PM, Allen Wirfs-Brock wrote: > That's a pretty good

Re: Symbol history

2018-05-28 Thread Allen Wirfs-Brock
A good starting point for researching the history is: https://web.archive.org/web/20110505015255/http://wiki.ecmascript.org:80/doku.php?id=strawman:private_names And the pages it links to. ⁣ On May 28, 2018, 4:43 PM, at 4:43 PM, Allen Wirfs-Brock wrote: >For a while TC39 considered syntactic

Re: Symbol history

2018-05-28 Thread Allen Wirfs-Brock
That's a pretty good summary ⁣Sent from BlueMail ​ On May 28, 2018, 2:09 PM, at 2:09 PM, "T.J. Crowder" wrote: >Hi all, > >I've tried to glean this from the meeting notes and such, but many who >were >actively involved are on the list, so: > >Am I right that Symbols started out as "private

Re: Symbol history

2018-05-28 Thread Allen Wirfs-Brock
For a while TC39 considered syntactic support for referencing Symbol-keyed properties. EG: let pri = new Symbol; obj.@pri = 42; When we realized that symbols weren't private enough, we decided that [ ] would suffice. At that point using Symbols for "soft private" was no more convenient and

Re: Symbol history

2018-05-28 Thread Mark Miller
There was at some point an attempt at elaborating "symbol" into some kind of "private name" or "private symbol", which failed for well explained reasons. However, this is not where symbols started. Symbols started as a way to introduce new properties while avoiding conflict with possible property

Re: Symbol history

2018-05-28 Thread Mike Samuel
https://esdiscuss.org/topic/private-slots """ Allen Wirfs-Brock (5 years ago) As further evidence, the word "private" does not even occur in sections 8.1.6 and 8.1.6.1 of the current ES6 draft. These are the sections that define the ES6 object model. Small changes and additions had to be made to

Symbol history

2018-05-28 Thread T.J. Crowder
Hi all, I've tried to glean this from the meeting notes and such, but many who were actively involved are on the list, so: Am I right that Symbols started out as "private Name objects" then over time their name was changed, they became primitives, and the privacy aspect was dropped; but having

Re: Symbol history

2018-05-28 Thread Michael Dyck
On 2018-05-28 02:09 PM, T.J. Crowder wrote: Am I right that Symbols started out as "private Name objects" then over time their name was changed, they became primitives, As far as the spec is concerned... Symbols were introduced in draft 12 of ES6. They were defined as a kind of exotic