Allen Wirfs-Brock (2013-10-29T16:50:54.000Z)
domenic at domenicdenicola.com (2013-11-03T22:28:33.218Z)
At: http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts The HtML version isn't ready yet, but should be available soon. Changes include: - Introduced grammar parameters and eliminated NoIn productions - Spread now requires an Iterable rather than an array-like - B.1.4, Web browser extensions to RegExp Pattern grammar and semantics - Updated RegExp to actually do sticky matching. - Updated RegExp to support “u” (unicode) patterns and matching. - Defined String @@iterator and String Iterator objects bug fixes in Object.mixin - Added support for revokable proxies - Added Proxy and Proxy.revokable factory functions - Removed the JSON grammar and replaced it with references to Ecma-404 - Added requirement that Math.random functions in different code realms must produce difference sequences of numbers - Made Map, and Set built-in iterators so that once they return a result of completed they always return complete on subsequent calls to next. - Added Symbol.prototype[@@toPrimitive] - Added name property for functions created via function/generator/class declarations or binding initializers and assignment. - Defined the name property conventions for built-in functions. - Added normative reference to Ecma-404, removed normative reference to C standard. - Added normative reference to Ecma-402 and made Ecma-402 support a conformance requirement for ES implementation that provide an internationalization API. - Updated toLocale*String methods with reference Ecma-402 - [[Construct]] for Proxy objects throw if no “construct” trap and target does not have a [[Construct]] - Changed terminology “ordinary function object” to “ECMAScript function object” - fixed ArrayBuffer(len) and %ArrayBuffer%(len) to throw RangeError on infinite length - make sure yield is usable as a statement label in non-strict code, except in generator functions. - consolidated in BindingIdentifier static semantic restrictions on strict mode declarations of eval and arguments - changed the way strict mode use of strict mode only reserved words are specified. - use parameterized grammar productions to restrict where return statements can appear - added grammar restrictions preventing an ExpressionStatement from stating as “let [” - terminology: “internal data property” is now “internal slot” - changed handling of non-object values in WeakMap as per bug 1938 - Renamed abstract operation CreateOwnDataProperty to CreateDataProperty. Added CreateDataPropertyOrThrow abstract operation - Elaborated in 9.3 that built-in functions can be implemented as either ECMAScript functions or as implementation defined exotic functions. - Eliminated [[GlobalArray]] compatibility hack in slice and certain Array methods, replaced with a Realm check - fixed bugs: 2077-2072, 2069, 2067-2054, 2052-2050, 2048-2046, 2043, 2041-2040, 2037-2035, 2033, 2032, 2030-2028, 2026-2012, 2010-1941, 1938, 1909, 1903, 1900, 1870, 1869, 1863, 1858, 1855, 1854, 1852, 1804, 1660, 1619, 1358, 1287, 1274, 1268, 1250, 1226, 1116, 1113, 972, 872, 791, 749, 740, 625, 594, 528, 526-524, 498, 481, 428, 407, 364, 230, 206, 119