> Yep.  If you used those two, you really wouldn't even need the
> [] construct - the [] operator would do.
Mmh...this is not the philosophy of Ruby as I understood it. We don't
need puts x - $stdout.print x + "\n" would do. Sorry, but this looks
like Java.

Ruby is almost as short as Perl - with less noise, more clear, less
context. OO or any other nice principle shouldn't get in my way when I
just want to solve a problem.

The major problem seems to be: Not enough symbols ^_^
There are limited characters in ASCII, and they are all heavily used in
Ruby; I think Ruby is, in its lexic, the most complex language ever. I
don't think anyone really knows all about how heredocs work... We can't
change ASCII, and we need to use the things we have:
A-Za-z_0-9$@()[]{}"'`!<=>+-*/%~&|^,:.?\;# and space. That's it.

Back to lambda. I think matz has always started with the thing that is
most intuitive - like ['an', 'array']. I like such literals, and I
especially like all the nice syntax sugar Ruby provides to help me
keeping my code short and readable.

The question is, how important are the new blocks? Or hashes? What
should be short, what may be more verbose? I like to ask matz and the
other Ruby2 developers directly:

  How important are these new anonymous code blocks?
  Does anyone really think about killing the old Hash literal? Or is
this just a rumor?
  Is there a fallback solution, if nobody has the Great Idea? Maybe
it's good enough.

Perhaps there just _is_ no perfect solution. Ruby isn't perfect, and
also Ruby2 won't be. We always have to make compromises - in this case,
I think we should save the old syntax and use the most simple solution
that works for the lambdas.

My last question, directly to matz:

  What is _your_ favourite lambda syntax? Where is the rub?