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.
Type de document :
Rapport
[Research Report] RR-2590, INRIA. 1995
Liste complète des métadonnées

Littérature citée [20 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/inria-00074093
Contributeur : Rapport de Recherche Inria <>
Soumis le : mercredi 24 mai 2006 - 14:30:25
Dernière modification le : samedi 17 septembre 2016 - 01:35:42
Document(s) archivé(s) le : lundi 5 avril 2010 - 00:04:57

Fichiers

Identifiants

  • 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〉

Partager

Métriques

Consultations de la notice

175

Téléchargements de fichiers

290