Skip to Main content Skip to Navigation
Reports

Supporting Explicit Disambiguation of Multi-Methods

Eric Amiel Eric Dujardin 1
1 RODIN - Database Systems
Inria Paris-Rocquencourt
Abstract : Multiple inheritance and multiple dispatching are two sources of ambiguities in object-oriented languages. Solving ambiguities can be performed automatical- ly, using techniques such as totally ordering the supertypes of each type or taking the order of the methods' arguments into account. Such implicit disambiguation has the drawback of being difficult to understand by the programmer and hiding programming errors. Conversely, solving ambiguiti- es can be left up to the explicit intervention of the programmer. The most common explicit disambiguation technique consists in defining new methods for ambiguous invocations. However, finding ambiguities and adding as few methods as possible is a difficult task, especially in multi-method systems. In this paper, we show that there always exists a unique minimal set of method redefinitions to explicitly disambiguate a set of multi-methods. We propose an algorithm to compute the minimal disambiguation set, together with {\em ! explanations}: for each method that is to be added, the programmer is given the set of methods that caused the ambiguity.
Document type :
Reports
Complete list of metadata

Cited literature [20 references]  Display  Hide  Download

https://hal.inria.fr/inria-00074093
Contributor : Rapport de Recherche Inria <>
Submitted on : Wednesday, May 24, 2006 - 2:30:25 PM
Last modification on : Friday, May 25, 2018 - 12:02:05 PM
Long-term archiving on: : Monday, April 5, 2010 - 12:04:57 AM

Identifiers

  • HAL Id : inria-00074093, version 1

Collections

Citation

Eric Amiel, Eric Dujardin. Supporting Explicit Disambiguation of Multi-Methods. [Research Report] RR-2590, INRIA. 1995. ⟨inria-00074093⟩

Share

Metrics

Record views

278

Files downloads

610