Hi,

In message "Re: What's so special about operators, built-in classes and modules?"
    on Fri, 29 Jul 2005 08:31:05 +0900, Daniel Brockman <daniel / brockman.se> writes:

|Matz> It is much simpler and easier to use than
|Matz> multiple inheritance.
|
|This is where our minds go apart.  Is it because unifying
|classes and modules would *enable* you to do weird things
|like inheriting from both Array and Hash?  I honestly don't
|think anyone ever tried to do that, and I don't think anyone
|would expect it to work in a useful manner.  Do you?

If it is not impossible, the language should define the behavior for
it.  If it is possible to inherit from Array and Hash, _I_ have to do
something.  Unifying them gives me too heavy burden.

|Matz> Why people want "real" multiple inheritance by
|Matz> unifying classes and modules, when Ruby's mixin
|Matz> inheritance works quite well?
|
|Because it would do the same thing, only in a simpler way.
|I hesitate to invoke Occam's Razor, but it's definitely
|about orthogonality of concepts.

Pardon me?  You feel multiple inheritance simpler?

It has fewer restriction, more general, but not simpler, both in
concept and implementation.  Perhaps we are using the term "simple" in
different manner.

When they would do almost the same thing, and when mixin inheritance
is much simpler to understand (for me at least), far easier to
implement, why should I implement multiple inheritance?

							matz.