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

Reply via email to