DLS 2016
Tue 1 Nov 2016 Amsterdam, Netherlands
co-located with SPLASH 2016
Tue 1 Nov 2016 11:45 - 12:10 at Matterhorn 1 - Session 2 Chair(s): Gilad Bracha

Multiple inheritance is often criticised for the ambiguity that arises when multiple parents want to pass on a feature with the same name to their offspring.
A survey of programming languages reveals that no programming language has an inherently implicit and dynamic approach to resolve this ambiguity.
This paper identifies just-in-time inheritance as the first implicit and dynamic inheritance mechanism. The key idea of just-in-time inheritance is that one of the parents is favoured over the others, which resolves the ambiguity, and that the favoured parent can change at runtime.
However, just-in-time inheritance is not the silver bullet to solve all ambiguity problems heir to multiple inheritance, because it is not applicable in all scenarios.
We conclude that the applicability of just-in-time inheritance is to be found in systems where multiple inheritance is used to model an “is-a OR is-a”-relation, rather than the more traditional “is-a AND is-a”-relation.

Presentation slides (DLS16-final.pdf)1.20MiB