ES6,ES7,ES8 and beyond. A Proposed Roadmap.
tschneidereit at gmail.com
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
On Sun, Apr 21, 2013 at 5:21 AM, Mark S. Miller <erights at google.com> wrote:
> (Thanks to Rick Waldron and Brendan Eich for encouragement towards posting
> 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
> * 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.
> es-discuss mailing list
> es-discuss at mozilla.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the es-discuss