On Apr 29, 2010, at 3:16 PM, Mark S. Miller wrote:
On Thu, Apr 29, 2010 at 2:39 PM, Brendan Eich <[email protected]>
wrote:
Really, methinks you guys protest too much. In particular Mike's
"all new productions that introduce a new keyword should be
restricted" is simply wrong for "let".
Btw, regarding "let", ASI, and Dave's recent "let" expression
proposal <http://wiki.ecmascript.org/doku.php?id=strawman:let_expressions
>, how should
let () { => foo }
(3, 4)
parse? Is it a function call?
As far as I can tell, this is covered by ECMA-262 7.9.2:
The source
a = b + c
(d + e).print()
is not transformed by automatic semicolon insertion, because the
parenthesised expression that begins the second
line can be interpreted as an argument list for a function call:
a = b + c(d + e).print()
In the circumstance that an assignment statement must begin with a
left parenthesis, it is a good idea for the
programmer to provide an explicit semicolon at the end of the
preceding statement rather than to rely on automatic
semicolon insertion.
As David-Sarah Hopwood pointed out a while ago, there's no error to
correct.
I'm assuming here that let () { => foo } will be a PrimaryExpression.
The always-braced body avoids reduce-reduce conflicts Waldemar pointed
out in connection with ES4's unbracketed let expression body.
/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss