Block lambda is cool, its syntax isn't

Brendan Eich brendan at mozilla.org
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.

/be
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20120112/0c823075/attachment.html>


More information about the es-discuss mailing list