[Mono-list] Re: Is Objective-C support possible?

Ian MacLean ianm@ActiveState.com
Mon, 18 Feb 2002 12:48:47 -0800

Martin Coxall wrote:

>In any case, and once again, this is a decision that has been made for
>you. The CLR doesn't support multiple inheritance. It's out of your
>hands, live with it. Most OO purists dislike multiple inheritance. The
>design of the CLR reflects this.
Just to clarify. The CLR does NOT dissallow multiple inheritance. It 
just doesn't provide explicit support for it. There is a big difference. 
Eiffell for .Net has multiple inheritance. John Gough's book "Compiling 
for the CLR" has a section on implementing MI on top of the CLR. to quote
"The CLR does not provide facilities for the direct implementation of 
multiple inheritance. In particular, the CLR mechanisms for virtual 
method dispatch and object layout are inherently tied to an execution 
model with single inheritance and multiple interfaces. Nevertheless, as 
the Microsoft managed c++ compiler shows, it is possible to implement MI 
all the same. The fundamental idea behind such an implementation is to 
ignore the CLR facilities for method dispatch and instead layout the 
v-table explicitly" he then goes on to discuss several possible ways of 
implementing this.