ES6,ES7,ES8 and beyond. A Proposed Roadmap.

Till Schneidereit tschneidereit at
Wed Apr 24 07:44:07 PDT 2013

Is there any chance at all of macros á la sweet.js will be on the agenda
for ES7 (or 8)?

I would very much like for that to happen to enable even more, and more
light-weight, experimentation with and cow-path building for the syntactic
language surface.

On Sun, Apr 21, 2013 at 5:21 AM, Mark S. Miller <erights at> wrote:

> (Thanks to Rick Waldron and Brendan Eich for encouragement towards posting
> this)
> As we see on es-discuss, the pressure towards standardizing soon various
> features currently absent from ES6 is increasing. Rather than stretch ES6,
> I think we should work towards completing ES6 asap, and then proceed to
> ship an ES7 that is both more modest and out earlier than current
> expectations. I think the focus of ES7 should be parallelism, concurrency,
> asynchrony, and preparation for distribution. Call this the "concurrency
> theme". This involves at least
>   * Communicating Event Loop concurrency model,
>       - with the two-priority event loop already required by both browser
> and server.
>   * Object.observe
>   * Distribution compatible promises (at least Promises/A+)
>   * Module Loaders
>   * Weak References
> I hesitate to put Module Loaders on the above list rather than leaving
> them in ES6; but it would allow their semantics to rest on event loops and
> their API to rest on promises. If we can get ES7 out quickly, this need not
> be as painful as it might seem, and would help us ship ES6 faster.
> Elements of the concurrency theme that may be in ES7 or may be postponed
> to ES8:
>   * RiverTrail
>   * The Vat model
>   * The semantics of inter-vat communications
>       - including a principled alternative of structured clone
>       - The emphasis being remote object messages, with postMessage
>           and such being only one of many transports.
>   * The promise hooks needed to extend promises securely over the network
>       - See makeFar and makeRemote at
>   * Event streams
> How much of the latter we bite off in ES7 and how much we delay till ES8
> will determine how quickly we can ship ES7. But however they split between
> ES7 and ES8, I think these should be the next things on our plate after ES6.
> Some things that I think should clearly wait till ES8:
>   * SES
>   * Distributed persistence
>   * The actual distributed cryptographic protocol for doing distributed
> secure persistent object communications.
> Some of these should perhaps be on separate tracks within TC39, much as
> i18n is already on a separate track.
> Some non-concurrency issues that will nevertheless be pressing in the ES7
> timeframe:
>   * Completing the class design
>       - at least high integrity and private state
>   * Quasi-parsers for JS, HTML, CSS
>   * Pinning down the full semantics of inter-realm interaction within a
> Vat, e.g.,
>       - multiple same-domain iframes
>       - loader-created fresh frames
>   * Possibly lexically nested modules
> Although I'm posting this on three lists, discussion should proceed only
> on es-discuss.
> Thoughts?
> --
>     Cheers,
>     --MarkM
> _______________________________________________
> es-discuss mailing list
> es-discuss at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list