Please be more careful when changing the language behavior

Walter Bright newshound2 at digitalmars.com
Tue Jun 2 06:43:40 UTC 2020


On 6/1/2020 11:17 PM, mw wrote:
> 2) for the multiple inheritance problem you try to solve, it actually is 
> solvable: as far as I know, only Eiffel language solved the diamond inheritance 
> problem gracefully, with keywords `rename`, `export`, `undefine`, `redefine` and 
> `select`. Simply put: by default the Eiffel compiler will join the features and 
> only keep one copy, but allow the user *explicitly* using these keywords to 
> define the correct behavior that the user want. (I mailed you a copy of Eiffel 
> language manual many years ago at pre-D1-age, esp. about multiple inheritance. 
> Maybe you still remember? :-)

I meant it is unsolvable without breaking everything.

The trouble was, it was inserted without realizing it was multiple inheritance, 
meaning its behaviors are ad-hoc and don't make a whole lot of sense when 
examined carefully.

I know I have that Eiffel manual around here somewhere :-)

I also have Meyers' tome "Object Oriented Software Construction".


More information about the Digitalmars-d mailing list