Annex A of 5th Edition

Brendan Eich brendan at
Fri Sep 7 10:37:34 PDT 2012

Joseph Spencer wrote:
> Would it not be beneficial to bring Annex A into greater conformity with
> the rest of the spec at this point?

Maybe, but there's non-zero risk and the work has non-trivial 
opportunity cost. If you can come up with a minimal set of changes and 
propose them here, I'll take a look and see if TC39 has the budget to 
consider them.

> Such changes seem relatively safe (to a noobie that is ;), as any code
> produced moving forward by devs would still parse just fine under older
> implementations that allowed for the unwanted syntax.  It seems that
> doing so would also bring the ecosystem of implementations into greater
> alignment moving forward.
> -Joe
> On Thu, 2012-09-06 at 16:41 -0700, Brendan Eich wrote:
>> Joseph Spencer wrote:
>>> My apologies on that one.  I meant to type the following:
>>> PostfixExpression:
>>>      LeftHandSideExpression [no LineTerminator here] ++
>>>      LeftHandSideExpression [no LineTerminator here] --
>>> PrefixExpression:
>>>      ++ [no LineTerminator here] LeftHandSideExpression
>>>      -- [no LineTerminator here] LeftHandSideExpression
>>> It appears to me that as currently written the following is considered
>>> valid sytax:
>>> ++++someVar;
>> Yes, that is goofy. It dates back to ES1 -- if memory serves (and it may
>> not at this late date), my original Netscape 2 "Mocha" JS engine did not
>> parse this.
>> However, I think it may fall out of a desire by Microsoft back in the
>> ES1 days to support the goofy ability of "host objects" to return
>> References (ECMA-262 spec term).
>>> I hadn't thought about es3 compatability though, so I could see the
>>> reasoning in keeping it as is.
>> Yeah, engine implementors have no good incentive to tweak here, and some
>> legitimate fear of a breaking change that would only lose market share.
>> /be

More information about the es-discuss mailing list