On Sat, 6 Jan 2001, Nathaniel Talbott wrote:

> as functionality goes I think I'd like an
> either/or: when defining a method, either you can use the current way (which
> makes sense a lot of the time), or you can use the new keyword way. The
> keywords would be part of the method signature, so to overwrite a method,
> you'd have to match its keyword signature.
> 
> Can anybody think of a good syntax for this? Does it make sense to have two
> distinct ways to def a method?

The TOM solution, if I remember correctly, was to always have keywords as
part of the signature, but to allow tuples as arguments.  Thus, you could
do, say
pointWithX: x y: y
or
point:(x,y)
or even a hybrid, like
vectorWithDirection:(x,y) magnitude: r

And since the colons are actually optional, "normal" method signatures
like point(x,y) are perfectly fine as well. 

This might present some problems for the Ruby parser, but I like the
approach in general.