On 9 January 2012 21:37, Gavin Barraclough <barraclo...@apple.com> wrote: > On Jan 9, 2012, at 2:59 AM, Andreas Rossberg wrote: >> >> I think the state machine is over-complicating things. What it boils >> down to is that we are defining a new language, ES6-proper (or >> informally ES6 for short). It overlaps with ES5 but does not include >> it (e.g. throws out `with'). Then your "state machine" simply says, >> declaratively: >> >> - If a program is ES5 but not ES6, treat as ES5. >> - If a program is ES6 but not ES5, treat as ES6. >> - If a program is both ES5 and ES6, with identical semantics, treat as >> ES6 (although it doesn't matter). >> - If a program is both ES5 and ES6, with different semantics, treat as >> ES5 (for compatibility). >> - If a program is neither ES5 nor ES6, it's an error (obviously). > > If the a program is both ES5 and ES6 with identical semantics, then > presumably we could equally treat it as ES5 with no behavior change? > If so, couldn't this be stated in a much simpler fashion: > > - If a program is ES5, treat as ES5. > - If a program is not ES5 but is ES6, treat as ES6. > - If a program is neither ES5 nor ES6, it's an error (obviously).
Indeed, that is even more to the point. /Andreas _______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss