Weak event listener

David Bruant bruant.d at gmail.com
Wed Mar 27 01:44:29 PDT 2013


Le 27/03/2013 00:22, Allen Wirfs-Brock a écrit :
>
> On Mar 26, 2013, at 2:57 PM, David Bruant wrote:
>
>> Le 26/03/2013 21:12, Allen Wirfs-Brock a écrit :
>>> On Mar 26, 2013, at 12:18 PM, Mark S. Miller wrote:
>>>> WeakSet may or may not happen by ES6. But even if it doesn't, 
>>>> WeakSet is trivially shimmable on WeakMap.
>> Set is also shimmable on top of Map. If Set is in, there are as many 
>> reason to have WeakSets in. If WeakSets are considered as second 
>> class, so should Set.
>> I feel Set and WeakSet fate should be bound.
>
> It's really a consensus based judgement call based upon 
> perceived breadth of  utility. Both Map and WeakMap provide unique 
> primitive functionality that is useful for creating other derived 
> abstractions. Set can be implemented in terms of Map, but is expected 
> to be used frequently enough that a consensus emerged for providing it 
> as a built-in. WeakMap is used much less frequently than Map
Not in my experience, but maybe I tend to keep using objects as maps as 
a biased reflex.
Regardless, the balance may weigh in favor of WeakMap if private symbols 
are given up.

> but is needed because of its primitive GC behavior.  If WeakSet will 
> have even a smaller frequency of use than WeakMap and is easily 
> expressed using WeakMap, then maybe it doesn't carry its own weight. 
>  A few usage cases may not be enough.  Convince us that it's wide 
> utility justifies, the specification, implementation, and testing 
> overhead it adds.
Fair enough.

> I'm not sure why you didn't just define yourself a WeakSet shim based 
> upon a WeakMap
Laziness to be fully honest :-)

David


More information about the es-discuss mailing list