From: Eric Hodel Date: 2009-08-25T07:09:19+09:00 Subject: [ruby-core:25106] Re: Proposal: Simpler block format On Aug 23, 2009, at 15:58, Yehuda Katz wrote: > On Sun, Aug 23, 2009 at 3:33 PM, Yukihiro Matsumoto > wrote: >> In message "Re: [ruby-core:25049] Re: Proposal: Simpler block format" >> on Sun, 23 Aug 2009 15:53:03 +0900, Yehuda Katz >> writes: >> >>> Things that currently don't parse are fine to become blocks. I'd >>> be worried about a case that currently parsed fine as a Hash but >>> might be expected to be parsed as a block if this feature existed. >>> Can you think of any? >> >> I don't worry about the ambiguity for the parser, but have anxiety >> for >> humans. Under the new syntax, when we see >> >> m {"this is a block not a proc"} >> >> there are two possibility. And it would be burden for mind of the >> programmers. That's the reason I insisted the past proposal (that >> was from David Black, IIRC). This time, we have working code for the >> proposal, so we can try. Let's see how we feel. > > The compelling this for me is that it makes methods that take > multiple blocks easier for programmer to read. For programmer, one > big confusion in Ruby is difference between proc, block, lambda and > method. Unifying syntax for block and proc shows that they are > really just same thing, with proc passed as parameter and block > passed as special parameter. If they're all blocks, how do you yield to them? I think multiple procs followed by a block is code smell therefore it should be difficult to read and clumsy to write by default.