Allen Wirfs-Brock wrote:
On Jan 6, 2015, at 5:34 PM, Gary Guo wrote:

I found that even without shorthand, the object literal can still be ambiguous with block.

Yes, but not in the context of a ConciseBody of an ArrowFunction.

The grammar for ConciseBody (http://people.mozilla.org/~jorendorff/es6-draft.html#sec-arrow-function-definitions <http://people.mozilla.org/%7Ejorendorff/es6-draft.html#sec-arrow-function-definitions> ) ensures that there is no ambiguity. If a ConciseBody starts with a { then it must parse as either a well-formed bracketed FunctionBody or as a syntax error.

There is no guessing. { means statements follow rather than an expression.

Indeed. Perhaps Gary meant less formal ambiguity, as Caitlin did earlier in thread -- in which case we could future-proof or perhaps just help people by proscribing { L: 42 } from being parsed as a ConciseBody. I'm curious to know what you think about this idea. It seems best done with parametric productions, but I haven't worked it out yet.

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

Reply via email to