> == CONCLUSION / WRAP-UP
>
> So, now that I have sufficiently bored you all to tears, I will do a
> quick re-cap of the main question, and the possible solutions.
>
> Should metaclasses be "inherited" along normal class lines?
>
> Meaning that if Foo uses a custom metaclass, and Bar isa Foo, then
> Bar also uses that metaclass.
>
> If we say yes, then I think it is clear that in order to get a sane
> method and predictable resolution order the custom metaclass would
> always need to precede the inherited eigenclass in the superclass
> list. (see the last example above).
>
> If we say no, then we need to introduce another anyonomous class into
> our mix, which we call an 'x' class. The 'x' class would need to use
> a breath-first dispatch order in order to produce a sane and
> predictable method resolution order.

I would like to expand on my position in the discussion Steve and I
had, which is the "no" position. The crux of my view is that Foo is an
instance of some custom metaclass. Bar is an instance of Class (for
the sake of argument). Foo and Bar are unrelated, save for the fact
that instances created by Bar's new() function will have access to all
the behaviors and state that instances created by Foo's new() function
will have.

This is why I also feel that class methods shouldn't have the same MRO
as instance methods, but that's a moot discussion.

Rob

Reply via email to