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.
Original languageEnglish
Title of host publicationProceedings of the 12th Symposium on Dynamic Languages (DLS 2016)
Number of pages11
ISBN (Print)978-1-4503-4445-6
StatePublished - 1 Nov 2016
EventDynamic Languages Symposium - Amsterdam, Netherlands


ConferenceDynamic Languages Symposium
Abbreviated titleDLS

    Research areas

  • multiple inheritance, just-in-time data structures

ID: 27024499