[Harmony Proxies] Proposal: Property fixing
david.bruant at labri.fr
Thu Jun 16 07:44:47 PDT 2011
Le 16/06/2011 15:26, David Bruant a écrit :
> Le 16/06/2011 15:15, Sean Eagan a écrit :
>> Sorry, I meant remove the configurability check of the
>> "getOwnPropertyDescriptor" and "getPropertyDescriptor" trap return
>> values, and add a check as to whether the "defineProperty" trap return
>> value is an object to fix the property to.
>> On Thu, Jun 16, 2011 at 8:12 AM, Sean Eagan<seaneagan1 at gmail.com>
>>> How about *optional* property fixing as a compromise? We could
>>> replace the configurability check of the "defineProperty" trap return
>>> value with a check of whether the return value is an object, in which
>>> case it would be treated as a property descriptor to fix the property
>>> to, otherwise the return value would just be ignored.
> If you replace the compulsory configurability check with an opt-in (by
> choosing a particular return value to defineProperty trap), then
> "optional property fixing" means "no property fixing", because the
> optional part could be implemented as a library on top of proxies
> without configurability check.
And it doesn't solve the bicephality issue. One thing that proxies allow
is inter-property intelligence. That's why they allow emulation of the
relationship between "length" and numeric properties in arrays. Arrays
have a unity (what I called "one brain") at the object scale. Any
attempt we make to separate properties to a different brain will break
this unity. We can partially recover (by putting pieces of the first
brain at the property scale of the second one), but it's at the cost of
imposing non-configurable properties to be accessor properties (which,
this time, is not an invariant imposed by ES5).
The fixed property proposal (even if optional) currently imposes to
choose between no inter-property intelligence (non-configurable accessor
properties) and non-configurable property being accessors (we loose some
inter-property intelligence in that case anyway).
More information about the es-discuss