[Harmony Proxies] Proposal: Property fixing

David Bruant 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>  
>> wrote:
>>> 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).

David


More information about the es-discuss mailing list