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 and can quite easily be integrated into the language and efficiently implemented.
Preview
Unable to display preview. Download preview PDF.
References
Rakesh Agrawal, Linda G. DeMichiel, and Bruce G. Lindsay. Static Type Checking of Multi-Methods. In Proceedings of the ACM Conference on Object-Oriented Programming, Systems and Languages, pages 113–128, 1991.
Eric Amiel, Olivier Gruber, and Eric Simon. Optimizing Multi-Method Dispatch Using Compressed Dispatch Tables. In Proceedings of the ACM Conference on Object-Oriented Programming, Systems and Languages, pages 244–258, 1994.
Hiltrud Betz, Bernd Holzmüller, and Rainer Koschke. Experiences in Adjusting a Compiler Toolkit to Generate Ada 95 Code. Ada User Journal, March 1997.
Daniel G. Bobrow, Linda G. DeMichiel, Richard P. Gabriel, Sonya Keene, Gregor Kiczales, and David A. Moon. Common Lisp Object System Specification. SIGPLAN Notices, 23, September 1988.
Giuseppe Castagna, Giorgio Ghelli, and Giuseppe Longo. A Calculus for Overloaded Functions with Subtyping. Information and Computation, 117(1):115–135, February 1995.
Craig Chambers. The Cecil Language. Specification and Rationale. Technical Report 93-03-05, Department of Computer Science and Engineering, University of Washington, March 1993.
Craig Chambers and Gary T. Leavens. Typechecking and Modules for Multi-Methods. In Proceedings of the ACM Conference on Object-Oriented Programming, Systems and Languages, appeared as ACM SIGPLAN Notices, 29(10): 1–15, October 1994.
Dylan Interim Reference Manual, Apple, June 1994
James Gosling, Bill Joy, and Guy Steele. The Java Language Specification. Addison-Wesley, 1996.
J. Grosch and H. Emmelmann. A Tool Box for Compiler Construction. Compiler Generation Report No. 20, GMD Forschungsstelle an der Universität Karlsruhe, Jan. 1990.
William Harrison and Harold Ossher. Subject-Oriented Programming. In Proceedings of the ACM Conference on Object-Oriented Programming, Systems and Languages, pages 411–428, 1993.
Urs Hölzle. Integrating Independently-Developed Components in Object-Oriented Languages. In Proceedings of the 7th European Conference on Object-Oriented Programming, pages 36–56, Springer, 1993.
Bernd Holzmüller. Extending the Object-Orientedness of Ada 95. In Proceedings of the 1996 Ada-Europe International Conference on Reliable Software Technologies, Montreux, Switzerland, pages 357–369, Springer LNCS 1088, 1996.
Bernd Holzmüller. On Designing Extensible Object-Oriented Languages with Dispatching and Modules. Unpublished, 1996.
Daniel H.H. Ingalls. A Simple Technique for Handling Multiple Polymorphism. In Proceedings of the ACM Conference on Object-Oriented Programming, Systems and Languages, pages 347–349, 1986.
Ole Lehrmann Madsen, Birger Møller-Pedersen and Kristen Nygaard. Object-Oriented Programming in the Beta Programming Language. Addison-Wesley, 1993.
Carl Ponder and Bill Bush. Polymorphism Considered Harmful. Software Engineering Notes, 19(2):35–37, April 1994.
David Stoutamire and Stephen Omohundro. The Sather 1.1 Specification. Unpublished, August 18, 1996.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Holzmüller, B., Plödereder, E. (1997). Finite unions for Ada 95. In: Hardy, K., Briggs, J. (eds) Reliable Software Technologies — Ada-Europe '97. Ada-Europe 1997. Lecture Notes in Computer Science, vol 1251. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63114-3_1
Download citation
DOI: https://doi.org/10.1007/3-540-63114-3_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63114-9
Online ISBN: 978-3-540-69150-1
eBook Packages: Springer Book Archive