On Jan 10, 2013, at 8:41 AM, Brendan Eich wrote:

> Nathan Wall wrote:
>> In the case of (1), the implementation using a private symbol will have 
>> internal accesses to the `timestamp` symbol exposed through the 
>> unknownPrivateSymbol trap.
> 
> Private symbols do not trap.
> 
>> In the case of (2), the implementation using a private symbol will fail on a 
>> call to `setTime` when the object is frozen (I think).
> 
> Nope, we agreed that frozen objects support setting pre-existing (added 
> before the object was made non-extensible) properties named by private 
> symbols.
> 

Yes, indeed.

In addition I'm now thinking we want Object.freeze to notify the object via a 
@@method it is bering  frozen .  This gives the object an opportunity to 
configure its private state and public behavior in a manner that actually 
presents an immutable abstraction.  For example, a collection that holds it 
elements in a private symbol accessed slot and uses public accessor methods 
might internally set a flag that makes the collection act immutably.  

Allen

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to