Hi Allen, Great to see a first draft of the Proxy spec. I'll study this revision more closely over the coming week.
Some initial comments below: 2012/11/23 Allen Wirfs-Brock <al...@wirfs-brock.com> > > • MOP changes: Added [[GetInheritance]]/[[SetInheritance]] as internal > methods for accessing [[Prototype]] internal prototype chain. > I would rename these to [[GetProto]]/[[SetProto]] (or [[GetPrototype]] as David suggests). > Added [[[IsExtensible]]/[[PreventExtensions]]. > > Replaced [[Get]]/[[Put]] with [[GetP]]/[[SetP]]. At some point we may be > able to rename these as [[Get]]/[[Set]]. > +1 for [[Get]]/[[Set]]. The P suffix was indeed to distinguish this operation from ES5.1 [[Get]]. > Eliminated [[GetProperty]], [[CanPut]], [[HasProperty]], > [[DefaultValue]]. > Great! However, with [[HasProperty]] removed, I assume the "in"-operator no longer triggers the "has" trap when it encounters a proxy, instead doing the proto-chain-walk itself and calling "hasOwn" on each level. This is OK, although it introduces an inconsistency with the other proto-chain-walking algorithms, which stop when encountering a proxy, letting the proxy take over from that point (this is the case for the "get", "set" and "enumerate" traps). Cheers, Tom
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss