The Nov. 22, 2012 draft of the ES6 specificaiotn is now at 
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts 

Here are the release notes:

Changes marked as “Rev 12”

This is a major revision that takes the first step at reforming the internal 
Meta-Object Protocol (the “internal methods”) and extending it to support 
Proxies. Quite a bit of material has moved within the document. The overall 
document organization is in a state of flux and some sections will be moved in 
the future. For now, somethings have been temporarily left in their old 
locations to preserve change markup relative to ES 5.1 that might otherwise get 
lost.

Changes include:

        • Reorganized Chapter 8 into separate language type and specification 
type sub sections
        • Added Symbol property keys to the definition of the Object Type. 
terminology migration from talking about “property names” to “property keys”.
        • Restructured 8.6.2 (now 8.1.6.2) as the abstract interface definition 
of the internal object MOP. eliminated Table 9 (Internal props of only some 
objects) and distribute related material to definitions of specific object 
forms. Moved discussion of internal method invariants plus invariant enforced 
by proxies into separate place order subsection. This needs a complete rewrite 
to clearly define the actual internal methods invariants.
        • MOP changes: Added [[GetInheritance]]/[[SetInheritance]] as internal 
methods for accessing [[Prototype]] internal prototype chain. Added 
[[[IsExtensible]]/[[PreventExtensions]]. Replaced [[Get]]/[[Put]] with 
[[GetP]]/[[SetP]]. At some point we may be able to rename these as 
[[Get]]/[[Set]]. Eliminated [[GetProperty]], [[CanPut]], [[HasProperty]], 
[[DefaultValue]].  Added Keys, [[OwnPropertyKeys]], [[Freeze]], [[Seal]], 
[[IsFrozen]], [[IsSealed]].
        • [[DefaultValue]] now part of ToPrimitive with a possible dispatch 
through a @@ToPrimitive symbol keyed method on objects. Define a @@ToPrimitive 
method on Date.prototype to take care of special date [[DefaultValue]] rules.
        • As part of “proto climbing” reform refactored GetValue and PutValue 
to directly incorporate the logic for property references on primitive values. 
Eliminated special [[Put]] and [[Get]] for primitive bases.
        • Eliminated all “strict” arguments to internal methods that were used 
to request trapping in strict mode”. All such methods now always return 
true/false success status. It’s up to the called (usually via a convenience 
function) to throw on failure.
        • Section 8.3-8.5 now provided the concrete implementation of the MOP 
interface for all ordinary and exotic object forms defined in the 
specification. this will eventually move into a new top level section following 
the current section 10.
        • Defined Symbol objects as a kind of exotic object. Its internal 
methods make it stateless and immutable.
        • In 9.3 added a number of convenience functions that operate at the 
level of the generic object MOP. These can be thought of as generic “derived” 
operations that will work with any kind of object. They are now used throughout 
the specification.
        • Added Table 25 (incomplete) in 10.3 to define the “intrinsic objects” 
of a code realm
        • instanceof operator no longer uses an internal method. Instead, 
extensible via a @@hasInstance symbol-keyed regular method.
        • Restated most Object.* reflection functions to delegate to 
corresponding MOP internal method.
        • Defined all of the functions in the @Reflect module corresponding to 
MOP internal operations.
        • Resolved bugs: 982, 979, 978, 973, 971-969, 966, 960, 958-956, 
954-952, 950, 948-945, 943-936, 934-925, 923, 920-914, 912-904, 902-883, 
881-873, 870-853, 851-839, 837-818, 808, 785, 672, 591, 400, 150, 100
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to