New ES6 draft is available

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

From the release notes: "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..."

And some important background:

In the Rev 12 ES6 draft, section 8.1.6 and its subsections define what I consider to be the ES Meta-Object Protocol (MOP).  "MOP" isn't used in the specification, but it is a convenient and  concise term for something important.

The ES6 MOP generically defines the capabilities of all objects. The MOP is the abstraction layer that generic language features  see and use to interact with generic objects. If a (generic) capability is not exposed via the MOP is isn't available for use in specifying language features that apply to all kinds of objects.  There may be many different forms of objects that provide alternative implementations of the MOP interface.  These alternative forms include ordinary objects and various specified exotic objects including Proxy objects, Symbol objects, Array objects, etc. Other alternative forms includes what was formerly called "host objects" and encompasses the object forms specified by W3C's WebIDL. The MOP is the semantic extension point for plugging new forms of objects into ECMAScript.

We've interested in any and all feedback. In particular, if there are any Web API object features that can not be expressed in terms of the new MOP.

Allen Wirfs-Brock
ECMAScript Specification Project Editor

Received on Saturday, 24 November 2012 17:50:07 UTC