New ES6 spec draft (Rev 22, Jan 20, 2014)

Tom Van Cutsem tomvc.be at gmail.com
Tue Jan 21 02:08:32 PST 2014


I really like the way the ES6 spec is coming together. Generally the way in
which abstract ops are used and internal methods are specified is much
clearer and more uniform in ES6 than in ES5. Also, the table of contents is
much better structured. I like your classification according to indexed
collections, keyed collections, control abstraction objects, reflection,
etc. These editorial issues are not always fully appreciated, but +1 to
them.

Cheers,
Tom


2014/1/21 Allen Wirfs-Brock <allen at wirfs-brock.com>

> The draft is available at
> http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts#january_20_2014_draft_rev_22
>
>
> Big news: Promise and Module Loading/Linking.  Still a few loose ends, but
> we're getting there.
>
>  Changes include:
>
>    - Promises
>     - Module loading/linking semantics
>     - Internal Tasks
>     - Realm Objects
>     - Loader Objects
>     - updated with binding for unscopable names as discussed at Sept 2013
>    meeting
>     - An unscopables object is now an ordinary object whose own property
>    keys are the unscopable names.
>     - Fixed sticky mode bugs in RegExpExec
>     - Provided algorithm for RegExp.prototype.replace and updated other
>    RegExp methods
>     - Fixed RegExp matcher algoritm to normalize results of Unicode mode
>    matches back to UTF-16
>     - Grammar parameter tweaks related to use of yield in generator
>    parameters.
>     - Simplified eval/arguments restrictions. They never are applied in
>    non-strict code
>     - Added tail call detection for arrow functions with expression bodies
>     - clarified unicode escaping in IdentifierNames and keywords
>     - The default class constructor definition is now
>    “constructor(...args) {return super (...args);)” if one is not explicitly
>    provided (adding explicit “return” is the change)
>     - Fixed Invoke abstract operation to correctly handle invokes on
>    primitive values. Implementations of built-ins that are * specified using
>    Invoke should make sure they work correctly in cases where Invoke might be
>    validly applied to a primitive
>     - Function.prototype.toMethod, replaces RebindSuper abstraction
>    operation with CloneMethod
>     - Eliminated comparator optional argument to Map and Set constructor
>     - Removed vague overflow/underflow requirements from Math.Hypoth
>     - Creating a Proxy requires use of new.
>     - No line terminator allow before the * in yield *.
>     - extends clause of a class declaration is now a
>    LeftHandSideExpression
>     - Completely redo of object invariants section.
>
>
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20140121/0c29e347/attachment.html>


More information about the es-discuss mailing list