ES6 draft Rev24 now available

# Allen Wirfs-Brock (6 years ago)

At harmony:specification_drafts#april_27_2014_draft_rev_24

Changes include:

  • Several important bug fixes to Function Declaration Instantiation
  • Updated RegExp so that subclasses that over-ride exec semantics don’t have to also over-ride match/replace/search
  • disallowed a line break between ArrowParameters and the ⇒
  • Adjust Array.prototype.reverse and Array.prototype.unshift to eliminate several unnecessary MOP calls that were exposed if the array is a proxy
  • Object.assign now accepts multiple source arguments
  • arguments object now have an @@iterator own property
  • %TypedArray% constructors now processes iterables as an argument.
  • Changed length property value of Symbol, Map, Set, WeakSet, WeakMap to 1 to be consistent with most other built-in constructors
  • Added Annex B item about var declarations in catch clauses that binding the same name as a catch parameter
  • Array.from/typedArray.from now calls filter function with two arguments.
  • Eliminated static semantic rules that made the following an early error function({x}){var x} or generator(x) {var x}. A var declaration now can always be the same name as a formal parameter
  • Made for (let x in x), etc. a TDZ violation
  • further tweaking of super related productions in MemberExpression and NewExpression
  • Bug fix in GetBindingValue to make TDZ work. Accessing an uninitialized binding always throws and is not conditional on strict mode.
  • Started update of Annex A. Lexical grammar updated
  • Resolved bugs: 2729, 2727, 2724-2722, 2714-2713, 2711-2706, 2695-2688, 2685, 2681-2660, 2658-2657, 2655-2654, 2652-2649, 2647-2640, 2638-2637, 2635-2613, 2611, 2608-2607, 2605-2604, 2600, 2573, 2566, 2561, 2558-2557, 2551, 2548-2547, 2537, 2528-2526, 2477, 2445, 2443, 2337, 2314, 2154, 2010, 1540, 1114
# Jason Orendorff (6 years ago)

The HTML version is available now. people.mozilla.org/~jorendorff/es6-draft.html

# Erik Arvidsson (6 years ago)

On Sun, Apr 27, 2014 at 5:12 PM, Allen Wirfs-Brock <allen at wirfs-brock.com>wrote:

• Changed length property value of Symbol, Map, Set, WeakSet, WeakMap to 1 to be consistent with most other built-in constructors

We discussed this before and wanted new built in function lengths to be consistent with default parameters.

# Andy Wingo (6 years ago)

On Mon 28 Apr 2014 17:35, Jason Orendorff <jason.orendorff at gmail.com> writes:

The HTML version is available now. people.mozilla.org/~jorendorff/es6-draft.html

As ever, you are a hero.

# Paulo Matos (6 years ago)

Thanks. I am new to the list so this might be a recurrent question but is there any working prototype implementation of ES6 that people can experiment language features with?

# Till Schneidereit (6 years ago)

There isn't a complete implementation, no. To some extent because parts of the spec aren't yet stable enough, but mostly because implementing all new features is a huge amount of work.

Substantial parts of the spec are, however, implemented in various engines. A good overview of the current state can be seen here: kangax.github.io/es5-compat-table/es6

Additionally, there are a few transpilers that transform ES6 code (again, not with all features supported) to ES5 as supported in pretty much all browsers nowadays. Traceur, one of those, is in the table I linked to above.

# Rick Waldron (6 years ago)

On Tue, Apr 29, 2014 at 4:38 AM, Paulo Matos <paulo at matos-sorge.com> wrote:

Thanks. I am new to the list so this might be a recurrent question but is there any working prototype implementation of ES6 that people can experiment language features with?

google/traceur-compiler

zenparsing/esparse

anba/es6draft

# Kevin Smith (6 years ago)

zenparsing/esparse

The actual transpiler is at zenparsing/es6now. I really need to add some documentation, but you can play with classes, arrows, and other things in the REPL. If you have Node 0.11+, you can also try async functions (yay). Traceur is a much more complete transpiler, though.

# Brendan Eich (6 years ago)

Want to mention

jlongster/es6-macros

while this thread is still live.