Yukihiro Matsumoto wrote:
> I think we have to address some issues:
> 
> * the name.  In Ruby, unlike Java, we rarely use the verb get for
>   method names.  We prefer foo to get_foo, when foo can be considered
>   as an attribute.  But in this case, args instead of get_args sounds
>   bit weird to me.

Someone else suggested "parameters", which isn't too bad. "arguments" 
also seems fine to me.

> * there is name-less rest argument (a, b, *), which just ignores the
>   rest arguments.  I think we have give some meaningful value for that
>   case too.

:* seems like a good identifier, since it's not valid as a local var 
name. So we'd have this:

def foo(bar, *); end
method(:foo).get_args #=> [[[:bar]], :*, nil]

> * 1.9 added mandatory argument at the bottom of argument list (after
>   rest argument *, just before block argument &).  We have to address
>   this in the returning tuple.

This is perhaps where a more structured type starts to sound better; we 
could expand the array-based structure, but then what happens with 
future changes to supported args layout?

- Charlie