Allen Wirfs-Brock (2014-01-21T03:42:05.000Z)
domenic at domenicdenicola.com (2014-01-27T15:54:12.193Z)
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.