From: transfire@... Date: 2006-07-02T02:12:42+09:00 Subject: Re: Symbol#to_proc is just so beautiful Yukihiro Matsumoto wrote: > "need" is pretty relative indeed. And I'm a big fan of concise > notation in general. But still I don't think this is a good idea > (without special notation). Iterating method calls (like to_s in > above example), should be distinguishable from usual method calls, > because they are different, they act different, their implementations > are different. > > Besides that you need to have knowledge of whether #collect requires > mandatory block or not to tell how obj.collect.to_s works. Note that > #collect may or may not have mandatory block depends on its receiver. Okay. Though we should consider that it can already be done, and similar code is already being done in limited cases. Just as an example here's how collect could be defined. alias :old_collect, :collect def collect( &yld ) if yld old_collect( &yld ) else Functor.new { |op, x| x.__send__(op) } end end But even so, say a special notaion were the best option. What kind of notations do we have left? Everything starts to seem so perlish. I don't know. Maybe '->' could play a role here? T.