On Wed, Apr 2, 2014 at 8:26 PM, Mark S. Miller <[email protected]> wrote:
> > > We could specify that WeakMaps can use typed objects as keys. The current > discussion in your article confuses semantics with implementation when it > speaks of typed objects comparing structurally. Typed objects have > identity, characterized by the four-tuple you explain. Just as all the bits > of a thin pointer are significant when comparing two thin pointers to see > if they point at the same semantic object identity, so are all the bits in > your fat pointer significant. Don't get confused by the bits in the pointer > to the fat pointer, when the fat pointer happens to be boxed. > It is unclear to me how WeakMaps can ever use typed objects as keys, since typed objects do not have their unique identity. Or rather, the only possible semantics I see is "hold to the value forever". So for example: w = new WeakMap(); w[Point(buffer, 0)] = "abc"; // 1 w[Point(buffer,0)] = ? // 2 I believe that in line 2, result should always be "abc" (since Point(buffer, 0) === Point(buffer, 0)). This is something we can spec, but it is probably not behavior we want. Dmitry
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

