On Jul 17, 2011, at 3:18 PM, David Bruant wrote:

> Le 15/07/2011 00:16, Brendan Eich a écrit :
>> 
>> On Jul 14, 2011, at 3:00 PM, Allen Wirfs-Brock wrote:
>> 
>>>> Host objects are part of the platform. A platform provider is free to 
>>>> violate any part of the spec they like, and there's nothing we can do 
>>>> about it other than to add tests to std test suites to make the violations 
>>>> obvious to the community.
>>> 
>>> We could provide a defined interface mechanism that validates constraints 
>>> or limits behavior in a way that guarantees the desired invariants. That's 
>>> what Proxies appear to be trying to do, why not do it for host objects.  If 
>>> you can depend upon host objects actually supporting your invariants why 
>>> does not matter whether or not Proxy objects also do so.
>> 
>> For the record, Mozilla wants its "host objects" to be only as powerful as 
>> Proxies. Current web compatibility constraints don't allow this but we want 
>> to evolve the standards, de facto (over time) and de jure, toward that goal.
> Do you have examples?

David Flanagan is in the thick of dom.js work 
(https://github.com/andreasgal/dom.js), so he should comment. IIRC at least 
configuring [[Class]] name as exposed by Object.prototype.toString, and of 
course fixed properties on pre-fixed Proxies, have come up in the course of 
self-hosting the DOM.


>> Some Proxy extensions may be needed, too, so it's not all up to web 
>> compatibility to take the hit.
> Do you have such Proxy extensions in mind already?

See my previous reply, about fixed properties, the fix trap, controlling the 
[[Class]] of the object the proxy "becomes" upon fixing, and preserving the 
(preventExtensions, seal, freeze) distinction when fixing.

/be
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to