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 <al...@wirfs-brock.com> 
wrote:
>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 perhaps  less then just using a _ prefix to be indicate
>soft-private.
>
>
>On May 28, 2018, 4:10 PM, at 4:10 PM, Mike Samuel
><mikesam...@gmail.com> wrote:
>>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
>>allow for property keys to be either strings or symbols but those
>>changes
>>are independent of whether a symbol is private or not. The only place
>>that
>>the privateness of a symbol comes into play (besides in proxies) is in
>>the
>>context of a few reflection operations whose behavior is predicated
>>upon
>>whether a symbol property key is a private symbol or not. This is very
>>similar to the tests that the same or similar operations make on
>>individual
>>property attributes.
>>"""
>>I don't know when Object.getOwnPropertySymbols made symbols useless
>for
>>private-like symbols, bit IIUC, 5 years ago they were kind of being
>>advanced for both to allow properties visible only to a symbol holder
>>and
>>for cooperative namespace separation.
>>
>>
>>
>>On Mon, May 28, 2018 at 3:48 PM, Mark Miller <erig...@gmail.com>
>wrote:
>>
>>> 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 names, IOW, as a way to introduce new property "names" that
>>were
>>> guaranteed not to collide with any existing names. This is still
>>their
>>> primary purpose.
>>>
>>>
>>> On Mon, May 28, 2018 at 11:09 AM, T.J. Crowder <
>>> tj.crow...@farsightsoftware.com> 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 Name objects" then
>>over
>>>> time their name was changed, they became primitives, and the
>privacy
>>aspect
>>>> was dropped; but having guaranteed-unique values was still useful,
>>and
>>>> found application (amongst other places) in solving the problem of
>>adding a
>>>> default iterator to `Array.prototype` without name conflicts with
>>existing
>>>> code in the wild?
>>>>
>>>> Thanks,
>>>>
>>>> -- T.J. Crowder
>>>>
>>>> _______________________________________________
>>>> es-discuss mailing list
>>>> es-discuss@mozilla.org
>>>> https://mail.mozilla.org/listinfo/es-discuss
>>>>
>>>>
>>>
>>>
>>> --
>>>   Cheers,
>>>   --MarkM
>>>
>>> _______________________________________________
>>> 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
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>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

Reply via email to