Now, I'm sure you'll all hate this, but I just had to post it.
What if optional "type hinting", or, more accurately, "type conversion", was added to the method definition syntax?
def foo(str bar, i baz, sym bur)
# something
end
would then be the same as
def foo(arg1, arg2, arg3)
bar, baz, bur = arg1.to_str, arg2.to_i, arg3.to_sym
end
I know it would save me a lot of typing -- plus, it's still dynamic; it wouldn't (necessarily) require the return values of the #to_* calls to be instances of a certain class.
I know that some of you prefer to just call methods on the received arguments, and not use the #to_* methods first to convert them to a certain "type", but this proposal/idea wouldn't in any way make that more difficult than it is today.
Well, it's just an idea.
(putting on my flame-proof suit)
Daniel