Nannying (was: Array comprehension syntax)

Allen Wirfs-Brock allen at
Tue Sep 25 15:27:06 PDT 2012

On Sep 25, 2012, at 1:27 PM, Brendan Eich wrote:

> Allen Wirfs-Brock wrote:
>> I note that in your toy grammar you avoid the comma issue at the front and in the for clauses by using AssignmentExpression in those positions. 
>> The current ES6 spec. draft has AssignmentExpression at the front, and Expression in the for and if clauses.  However, there is also a editor's note that suggests that AssignmentExpression should be considered for all three positions. 
> There's still no ambiguity if the toy grammar changes to

agreed, this isn't about formal parsing ambiguity.

> ...;
> The "readability" concern would matter if people actually wrote unparenthesized comma expressions in such comprehensions, but Nanny-me says they won't, and Mary Poppins agrees.
> Again, it's not our job to prevent people from writing something that might confuse someone. JS has lots of room in its grammar for that. I agree with Dave, in absence of evidence of real ambiguity or another technical grammar problem.

So, from that perspective, why didn't you make it:

       '[' AssExpList ']'
|       '[' Exp FOR ID OF Exp IF Exp ']'

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list