"Ara.T.Howard" <Ara.T.Howard / noaa.gov> writes:

> i was doing too much at once.  all i was trying to say
> was that
>
>    B < A
>
> means inheritence.  if you also want to be able to
>
>    class B
>      include A
>      include Z
>    end
>
> and have that also mean inheritecne - then multiple
> inheritence must be addressed.

In what way must anything new be addressed?

> my point is simply that i don't think you can unify
> modules and classes without also intrducing multiple
> inheritence

Of course not.  Indeed, many people consider Ruby's mixins
to already be a form of MI.

> you can't currently do this
>
>    http://en.wikipedia.org/wiki/Diamond_problem
>
> with mixins.

Here we go again...

   module A
     def foo(bar) puts(bar) end
   end

   mobule B
     include A
     def foo ; super(123) end
   end

   module C
     include A
     def foo ; super(456) end
   end

   class D
     include B
     include C
   end

> if unification took place you could.

Indeed, you still could.

>> How is multiple inheritance far less powerful
>> than mixins?
>
> because people don't use it well -

Even if that were proved true, it still wouldn't imply that
multiple inheritance is °»far less powerful°… than mixins.

> it's complexity precludes average programers using it in
> the very situations where it could be most benefit..

What alleged complexity are you talking about?

Is it simply that there would be no concept of superclass,
and hence no way to automatically draw an inheritance tree?

Unifying modules and classes will not force you to inherit
from String, Integer, Hash and IO at the same time.

You could still do everything you do now, with no
added complexity.

> just at it's prevelance in languages which support i and
> compare that to the useage of mixins in ruby, for example.

If you see a way to make a useful comparison, please do.

> mixins are powerful because they provide 90% of the
> functionality of mi

Agreed.

> with 10% of the debugging.

That, however, is a completely unsubstantiated and IMHO
outrageous claim.  (Maybe I should counter it by claiming
that MI is powerful because it provides 110% of the
functionality of mixins, with only 10% of the debugging.)

> this is primarily because it's easy to affect the method
> search tree.

I don't understand this.  What do you mean?

-- 
Daniel Brockman <daniel / brockman.se>