Hello --

(Starting a new thread, to make it easier to ignore :-)

I've been following the multi-method/dispatch thread, and finding
myself not grasping an important central part of it.

Namely... doesn't this more or less completely change the nature of
Ruby?

At a fundamental level, I'm not getting how method signatures and
dispatching on type could be "added" to Ruby, such that Ruby was
still, so to speak, Ruby.  Among other things, once that option
existed, I think we'd see a lot of code where there was only one
version of a method, but it was still typed.

OK, trying to clear the cobwebs and think it through....

It seems to me that exactly one of the following three things has to
be true:

  1. no OO language L can exist, such that (a) L is a good
     language, and (b) L does not have dispatching on type;
  2. there *can* be such a language (a good OO language which does not
     have dispatching on type), but Ruby is not such a language;
  3. there can be such a language, and Ruby *is* such a language.


I tend to lean toward #3 (with "good" understood as shorthand for
something like "not in need of fundamental, character-altering design
changes").

Really and truly inviting explanation/enlightenment/clarification; I
just don't get it.


David

-- 
David Alan Black                      | Register for RubyConf 2002!
home: dblack / candle.superlink.net     | November 1-3
work: blackdav / shu.edu                | Seattle, WA, USA
Web:  http://pirate.shu.edu/~blackdav | http://www.rubyconf.com