Advertisement

Finite unions for Ada 95

  • Bernd Holzmüller
  • Erhard Plödereder
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1251)

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.

Keywords

Language Extension Polymorphism Finite Unions Dispatching Multi-Methods 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    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.Google Scholar
  2. [2]
    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.Google Scholar
  3. [3]
    Hiltrud Betz, Bernd Holzmüller, and Rainer Koschke. Experiences in Adjusting a Compiler Toolkit to Generate Ada 95 Code. Ada User Journal, March 1997.Google Scholar
  4. [4]
    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.Google Scholar
  5. [5]
    Giuseppe Castagna, Giorgio Ghelli, and Giuseppe Longo. A Calculus for Overloaded Functions with Subtyping. Information and Computation, 117(1):115–135, February 1995.Google Scholar
  6. [6]
    Craig Chambers. The Cecil Language. Specification and Rationale. Technical Report 93-03-05, Department of Computer Science and Engineering, University of Washington, March 1993.Google Scholar
  7. [7]
    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.Google Scholar
  8. [8]
    Dylan Interim Reference Manual, Apple, June 1994Google Scholar
  9. [9]
    James Gosling, Bill Joy, and Guy Steele. The Java Language Specification. Addison-Wesley, 1996.Google Scholar
  10. [10]
    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.Google Scholar
  11. [11]
    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.Google Scholar
  12. [12]
    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.Google Scholar
  13. [13]
    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.Google Scholar
  14. [14]
    Bernd Holzmüller. On Designing Extensible Object-Oriented Languages with Dispatching and Modules. Unpublished, 1996.Google Scholar
  15. [15]
    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.Google Scholar
  16. [16]
    Ole Lehrmann Madsen, Birger Møller-Pedersen and Kristen Nygaard. Object-Oriented Programming in the Beta Programming Language. Addison-Wesley, 1993.Google Scholar
  17. [17]
    Carl Ponder and Bill Bush. Polymorphism Considered Harmful. Software Engineering Notes, 19(2):35–37, April 1994.Google Scholar
  18. [18]
    David Stoutamire and Stephen Omohundro. The Sather 1.1 Specification. Unpublished, August 18, 1996.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Bernd Holzmüller
    • 1
  • Erhard Plödereder
    • 1
  1. 1.Department of Computer ScienceUniversity of StuttgartStuttgartGermany

Personalised recommendations