On Sat, 19 May 2001, Steve Tuckner wrote:

> Thanks for the tip. That worked however, each class that has this mixed in,
> must call super in its initialize function even though the class has no
> "real" superclass. I don't suppose there is any way around that?

No, because there would have to be a way to say that you don't want super
to be called, and a way to say when you want super to be called, and to
get the return value of it, etc. So I think it's preferable to keep it
explicit.

By the way, "super" is kind of a misnomer. Ruby's method is most similar
to that of the language Self, which calls it "resend" (Damian Conway
proposed NEXT for Perl 6). Ruby does a depth-first, last-to-first lookup
on all the methods that match, and super simply takes the next one in the
list. When I say last-to-first, I mean the last included module, up to the
first included module, and then the superclass (the "zeroth included
module")

matju