I hadn't seen this particular variant posted in this thread yet. 
Apologies if it was and I missed it.  I make no claims as to its ease
of parsing or whatever, but it looks better than many of the other
options to me.


bar = { x, y=3, z=b|5 ->
  x + y * z
}


I believe this is similar to the approach that Groovy [1] uses for its blocks.


Jason

[1] http://groovy.codehaus.org