Allen Wirfs-Brock (2013-12-07T19:41:04.000Z)
domenic at domenicdenicola.com (2013-12-10T02:22:22.368Z)
On Dec 7, 2013, at 11:26 AM, Mark S. Miller wrote: > Hi Tom, when we talked I think we overlooked something crucial. The requirement as stated, "return at least the names (symbols or strings) of all non-configurable properties", is not actually sufficient for freeze, isFrozen, etc. We must additionally state that, if the object has been observed to be non-extensible, then it may not afterwards claim to have any own properties not observed by [[GetOwnPropertyNames]]. Without this additional requirement, a non-extensible object can "hide" non-configurable own properties from freeze, isFrozen, etc. > If the primary motivation is to ensure the integrity of freeze (and seal??) then a [[Freeze]] mop operations seems like a better solution to me. BTW, this seems like old territory, at one time we had a [[SetIntegrity]] mop operation that could be used to implement both Object.freeze and Object.seal. Why did we get rid of it?