Block lambda grammar: BlockArguments

Axel Rauschmayer axel at
Thu Jan 12 23:16:05 PST 2012

I’m trying to understand the syntax:
BlockArguments :
    BlockArguments [no LineTerminator here] BlockLambda
    BlockArguments [no LineTerminator here] ( InitialValue )

- Wouldn’t this allow the following?  BlockLambda [no LineTerminator here] BlockLambda
- InitialValue means that paren-free can be combined with arguments that aren’t blocks, right?

     myLoopFunc(initValue1)(initValue2) { | arg1, arg2 | ... }

   I think I would prefer the following (IIRC, more like Ruby):

     myLoopFunc(initValue1, initValue2) { | arg1, arg2 | ... }

Dr. Axel Rauschmayer
axel at


More information about the es-discuss mailing list