Expression closures - use-cases for shortcut lambda syntax (blocks)

Brendan Eich brendan at
Thu Mar 15 22:58:27 PDT 2007

On Mar 15, 2007, at 7:38 PM, John Cowan wrote:

>> Also, "?" is a perfectly permissable character for an identifier.
>> Wouldn't it cause problems to  give it special meaning? (for Greeks
>> especially)
> Not really, no more than it causes problems to give "if" special
> meaning.

js> o = {if: 42}
[object Object]
js> o.if
js> function if(x){return 1+x}
js> if(42)
/* oops */;
js> function::if(42)

The scenario to consider is: existing ES3 content uses the lambda  
unichar as a single-character identifier of a function. Then λ(x) +x  
looks like a call to the λ function, then an evaluation of a variable  
x, then an add operator evaluation. If λ is short for function, then  
the example sentence is ambiguous.


More information about the Es4-discuss mailing list