Block lambda is cool, its syntax isn't

Brendan Eich brendan at
Thu Jan 12 19:21:35 PST 2012

Sorry, thought about it more and I'm raining on your (and dherman's) 
parade :-(.

In an expression but not statement context,

   ... { (x) e; }

is already a valid JS program if e begins with (, [, +, or - (the last 
two intended as unary operators but becoming binary).

Note that | bracketing avoids this problem. In no case can JS of any 
extant version have a legal sequence {|.

But because {( is already allowed, what comes after the closing ) can be 
the continuation of a parenthesized expression.

Even if you don't buy my "better to look different because not function" 
argument, this tilts the balance.

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

More information about the es-discuss mailing list