From: Yukihiro Matsumoto Date: 2008-05-29T22:41:55+09:00 Subject: Re: [PATCH] lambda with normal block syntax Hi, In message "Re: [PATCH] lambda with normal block syntax" on Wed, 28 May 2008 21:46:06 +0900, "Eric Mahurin" writes: |Sounds reasonable. Just curious though, what part of the |ambiguity/precedence do you think isn't acceptable? a) {||...} as a |block vs. {||...} as a lambda, b) {...} as a hash vs. {||...} as a |lambda, c) both, d) that we'd have both ambiguities, or e) something |else? Personally, I think the biggest downside is between a {...} |hash and {||...} lambda. The block vs. lambda seems reasonable |because it is analogous to something like binary vs. unary "-". The case I hate most is meth {|a|...} can be parsed (by humans) both meth({|a|...}) and meth() {|a|...} having too confusing semantics. If Ruby works like Groovy, above two would be same behavior, but it is not, and not going to be changed. Of course we can disambiguate them by explicitly add parentheses, but still I don't like this confusion enough to give up this syntax. matz.