Allen Wirfs-Brock wrote:
On Nov 11, 2013, at 12:51 AM, Brendan Eich wrote:

>  Allen Wirfs-Brock wrote:
>>>  >    Yep -- I'm warming up to LeftHandSideExpression. It allows new and 
call forms, member expressions, primary expressions, but not unparenthesized ternary, 
binary or unary operators -- and (crucially for the bug) not anything ending in 
AssignmentExpression. Allen?
>>> >
>> >> Playing devil's advocate for the movement. Sure, general Expression
> > You must mean AssignmentExpression -- no ES6 draft allows comma expressions after extends.

Yes, my recollection is we wanted to leave open the possibility that comma in 
the extends clause might, in the future, have special meaning.

We have problems with paren-free heads for if, while, etc. because statement bodies need not be braced in the paren-ful case:

https://mail.mozilla.org/pipermail/es-discuss/2011-September/016804.html

I don't see a similar problem here, yet, but it's a possibility. If class body always starts with { and no expression can adjoin a braced form and make a larger expression, we're ok. This prohibition must be kept in all future editions.


>  Hardly any programmers, in the first place, will write any ternary, binary, 
or unary operator expression after extends.

No, I think you're missing the point.  Of course, most programmers will never 
even consider writhing anything more complex than a function call in the 
extends clause.  But the extra complexity of having restricted expression forms 
in some places does add to the overall conceptual burden on programmers.

You're just repeating your assertion as its own proof here. Sorry, it's not an axiom.

"Most programmers" do not think about grammar in this level of detail.

If your grammar parameterization only prohibits unparenthesized yield at the end of the extends RHS, that may be worth the ugliness in the spec.

But first let's make sure we aren't going wrong in allowing arbitrary AssignmentExpression after 'extends'. The paren-free gotcha needs another look.

/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to