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)
would then be the same as
def foo(arg1, arg2, arg3)
bar, baz, bur = arg1.to_str, arg2.to_i, arg3.to_sym
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)