#774: deprecate PMC multiple inheritance
--------------------+-------------------------------------------------------
Reporter: cotto | Owner:
Type: cage | Status: new
Priority: normal | Milestone:
Component: pmc2c | Version: 1.2.0
Severity: medium | Keywords:
Lang: | Patch:
Platform: |
--------------------+-------------------------------------------------------
Comment(by bacek):
Replying to [comment:1 fperrad]:
> With Lua, it's doable. It's just a code duplication.
>
> But, I think the reason of this deprecation is not enought.
> For me, a good reason is something like :
> multiple inheritance is a performance bottleneck.
I've got another reason - "multiple inheritance will require to support
full C++ style virtual/diamond inheritance".
Consider this:
{{[
pmclass Base {
ATTR foo
};
pmclass D1 extends Base {};
pmclass D2 extends Base {};
pmclass MyShinyClasss extends D1 extends D2 {
VTABLE bar { GETATTR(foo); }
};
}}}
(Code is sketched).
I know how to deal with this. Full implementation of "virtual" inheritance
will work. But I don't want to implement good half of C++ compiler in
pmc2c. And I don't want any parrot's developer to learn how to do this.
--
Bacek
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/774#comment:2>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets