T. Onoma wrote: >that said, now perhaps someone can explain to me why the #call is need? is >there some reason the interpretor can't deal with just > > p(a,b) > >couldn't Ruby just give precedence to proc evaluation similiar to local >precedence? > > This was discussed over the summer as I recall. It opens up a whole can of worms. For example, function calling syntax for Ruby can be either p(a,b) or p a, b So do you allow callable objects in the latter mode? This is all essentially making functions/methods first class in Ruby. However, if you do this, then while foo.meth arg1, arg2, ... is clear, foo.meth isn't. It could either be the first class method 'meth' of the object 'foo', or the result of calling the method 'meth' of 'foo'. In other words, you need to switch to explicit method call semantics like Python: foo.meth is a method object, foo.meth() is the result of calling the method So if you allow callable objects, and run it to its logical conclusion, you end up needing parentheses (which I don't think everyone's wild about). I'm sure there's stuff I'm leaving out. Search the ruby-talk archives for the whole big discussion if you're interested. - Dan