Questioning WeakMap.prototype.clear

Allen Wirfs-Brock allen at
Tue Jan 22 09:03:16 PST 2013

On Jan 22, 2013, at 7:18 AM, Mark S. Miller wrote:
> But WeakMaps were introduced specifically to support rights
> amplification[1].

Perhaps, from your perspective, but not from mine.   The above is certainly not a phrase I would ever say, I'm not even sure of your exact technical definition of "rights amplification" ( haven't watched the video link).  Early in the development of ES6 talked quite a bit about support for hash tables (including observable per object identify hash values).  We also talked about providing some sort of weak or ephemeron based collection because it address a known problem with GC based storage management: Representing relationships among objects in a manner than does not impact the GC lifetime of the objects involved in the relationship.

In designing a language we should generally look for composable features that can be used to solve a variety of programming problems.  Whenever possible we should avoid features that have only one use or are over optimized for one use case.

I'm happy to provide a language facility that you can use to create whatever sort of rights amplification abstraction you needed.  I'm strongly opposed to a feature that is only useful for or over optimized for some specific rights amplification abstraction.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list