Brendan Eich (2013-07-29T20:29:17.000Z)
Brandon Benvie wrote:
> On 7/29/2013 1:09 PM, Brendan Eich wrote:
>> Brandon Benvie wrote:
>>> On 7/29/2013 11:33 AM, Kevin Smith wrote:
>>>> The value of uniqueness lies in the fact that you can design 
>>>> protocols without having to globally coordinate on property or 
>>>> method names.  (E.g. iterator)
>>>
>>> I think {keys, maps, values} (and the pivot to using Symbols and 
>>> functions for them)
>>
>> BTW that was just one thought (from me), and TC39 went another way to 
>> avoid the 'values'/with incompatibility found via Ext.js. (See the 
>> meeting notes for the first day, about the @unscopeable list.)
>>
>  Ah right, forgot about that. Another example (in the wild) is 
> SpiderMonkey's use of "iterator" for the iteration protocol.

In ES4 days it was __iterator__, after dunder-iter in Python.

More recently, Jason implemented 'iterator' for two reasons, I think: 1, 
lack of symbol spec of implementation as prerequisite; 2, belief that a 
public name was better. Jason argued that case here, but I don't think 
he prevailed (Dean Landolt disagreed).

We aren't putting this out "in the wild" for use by anyone, it's just a 
temporary state, which depends on symbol spec resolution for ES6 -- this 
thread's topic!

/be
domenic at domenicdenicola.com (2013-08-02T20:06:57.800Z)
Brandon Benvie wrote:
>  Ah right, forgot about that. Another example (in the wild) is 
> SpiderMonkey's use of "iterator" for the iteration protocol.

In ES4 days it was `__iterator__`, after dunder-iter in Python.

More recently, Jason implemented 'iterator' for two reasons, I think: 1, 
lack of symbol spec of implementation as prerequisite; 2, belief that a 
public name was better. Jason argued that case here, but I don't think 
he prevailed (Dean Landolt disagreed).

We aren't putting this out "in the wild" for use by anyone, it's just a 
temporary state, which depends on symbol spec resolution for ES6 -- this 
thread's topic!