Allen's lambda syntax proposal

Brendan Eich brendan at mozilla.com
Wed Dec 3 09:26:50 PST 2008


Good point -- you scored a direct hit on the Smalltalk-homage  
battleship here, IMHO.

/be

On Dec 3, 2008, at 9:11 AM, Eric Suen wrote:

> In that case, you have to rewrite the grammar from:
>
> OptionalParameter ::= Parameter '=' NonAssignmentExpression[allowIn]
>
> to
>
> OptionalParameter ::= Parameter '='  
> NonAssignmentExpression[allowIn,noOR]
>
> Make it necessary complicated.
>
>>> In feature(ES4), ES may have OptionalParameter, that will cause  
>>> trouble
>>>
>>> { |a ,b = 1 | c | d | e | f }
>>>
>>> is
>>>
>>> { (|a ,b = 1 |) c | d | e | f }
>>>
>>> or
>>>
>>> { (|a ,b = 1 | c) | d | e | f }
>>>
>>> Regards,
>>>
>>> Eric Suen
>>>
>>
>> That should be a syntax error. Parenthesis should be required in that
>> case to avoid ambiguity: {|a, b = (1 | c)| ... }
>
>
> _______________________________________________
> Es-discuss mailing list
> Es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss



More information about the Es-discuss mailing list