Abstract: In the object-oriented extension of Ada 95 some constructs and connected type rules have been introduced that restrict the flexibility in using the whole set of features the object-oriented paradigm provides. Especially the introduction of tagged types leads to a loss of potential reuse if efficiency is of concern while the rules connected with dispatching disable full static type checking for subprogram calls. A closer investigation of these constructs and constraints reveals that some of them are completely unnecessary and some could be relaxed with minor changes of the language. With corresponding modifications, the language gains additional flexibility and becomes easier to use, while, through the introduction of multi-methods, the language regains the property of being statically type-safe.
Revised Version (Postscript 110 KB) , (Original Version) , BibTeX Entry
Abstract: In a recent project the Ada language turned out to be not as flexible as we expected it to be. This forced us to model our application in a way that was less elegant, less maintainable and less efficient. In this paper we propose to add a language construct to the language that would enable us to do what we were missing. The extension is based on finite unions with dispatching, which is shown to be implementable efficiently.
Postscript Version (110 KB) , BibTeX Entry
holzmuel@informatik.uni-stuttgart.de Last modified: Fri May 15 11:49:16 MET DST 1998