block lambda revival

Brendan Eich brendan at mozilla.com
Mon May 23 17:26:25 PDT 2011


On May 23, 2011, at 5:12 PM, Waldemar Horwat wrote:

> On 05/23/11 16:20, Brendan Eich wrote:
>> On May 23, 2011, at 1:44 PM, Waldemar Horwat wrote:
>>> (we've yet to have a coherent discussion about what really can go into these parameter lists).
>> 
>> I gave the grammar with semantics -- did you read it?
> 
> Yes.  However I don't think it'd be tenable to not support rest parameters or whatever normal functions can do.

I didn't include rest parameters (noted in the Notes) and I only tried to include parameter default values and destructuring in the syntax, and neither of those the semantics. Until this strawman is accepted into Harmony, it doesn't seem worth the effort. If you are warm to it, though, I'd be glad to overengineer it for success ;-).

I'll add a note that BlockParameterList is meant to be like FormalParameterList but with the necessary restriction that the default value be a BitwiseXorExpression.


>>> Now you want to add a third integer parameter:
>>> 
>>> a = f{|| 42}{|x| x*x}(7)
>> 
>> You did not read the grammar.
> 
> Snarky, aren't we?

I was just keeping up with your fine "we've yet to have a coherent discussion". Sorry, I'll desnark.


>> The space-separated block-lambda argument list can consist *only* of block-lambda expressions.
> 
> That was the problem I was pointing out.

I see what you mean, but is it really a problem without user testing? I could try to make it an error but that seems unnecessary at this stage. Unless you have a simple fix in mind?

/be


More information about the es-discuss mailing list