ACM Home Page
Please provide us with feedback. Feedback
Object-oriented programming in Ada83—genericity rehabilitated
Full text PdfPdf (1.04 MB)
Source ACM SIGAda Ada Letters archive
Volume XI ,  Issue 9  (Nov./Dec. 1991) table of contents
Pages: 116 - 127  
Year of Publication: 1991
ISSN:1094-3641
Author
Henry G. Baker  Nimble Computer Corporation, 16231 Meadow Ridge Way, Encino, CA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 10,   Citation Count: 5
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/122012.122018
What is a DOI?

ABSTRACT

A scheme for single-inheritance object-oriented programming in Ada83 is presented in which man y methods are determined at compile time using "generic" subprogram overloading. Unlike previous schemes for object-oriented programming in Ada83, which rely exclusively on derived types fo r inheritance, our scheme utilizes both derived types and generic units, and hence is more powerful. In particular, inheritance schemes based on derived types cannot handle the C++ concept o f "virtual function", while our scheme determines many of these methods at compile time. Our results call into question Bertrand Meyer's conclusions regarding the weakness of generic units.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Ada83. Reference Manual for the Ada® Programming Language. ANSI/MIL-STD-1815A-1983, USGPO, 1983.
 
2
 
3
 
4
 
5
Baker, Henry. "Equal Rights for Functional Objects or, The More Things Change, The More They Are the Same". Submitted to ACM TOPLAS, Aug. 1990.
6
 
7
Barendregt, H. P. The Lambda Calculus: Its Syntax and Semantics. North-Holland, Amsterdam, 1984.
 
8
9
 
10
Cohen, Norman H. "Ada Subtypes as Subclasses (Version 1)". Tech. Rept. RC14912(#66747), IBM Watson Res. Lab., Yorktown Hts., NY, Sept. 1989, 45p.
11
 
12
DiMaio, Andrea, et al. "DRAGOON: an Ada-based object-oriented langauge for concurrent, real-time, distributed systems". Proc. Ada-Europe Int'l Conf., June 1989, Camb. Univ. Press, Camb., UK, 1989.
 
13
Donaldson, C.M. "Dynamic binding and inheritance in an object-oriented Ada design". Proc. Ada-Europe Int'l Conf., June 1989, Camb. Univ. Press, Camb., UK, 1989.
 
14
Forestier, J.P., et al. "Ada++: a class and inheritance extension for Ada". Proc. Ada-Europe Int'l Conf., June 1989, Camb. Univ. Press, Camb., UK, 1989.
 
15
Gabriel, R.P. "The Why of Y". ACM Lisp Pointers 2, 2 (Oct.-Dec. 1988), 15-25.
16
 
17
 
18
Hewitt, C., et al. "A Universal, Modular Actor Formalism for Artificial Intelligence". Proc. IJCAI, 1973.
 
19
20
21
22
 
23
Schwartz, Richard L., and Melliar-Smith, Peter M. "The Suitability of Ada for Artificial Intelligence Applications". Final Report, Contract #AAG29-79-C-0216, Army Research Office, SRI International, May 1980, 48p.
24
25
 
26
 
27
Software Productivity Solutions, Inc. (SPS). "Classic-Ada Technical Specification". Melbourne, FL, 1988.
 
28
Software Productivity Solutions, Inc. (SPS). "Classic-Ada User's Manual". Melbourne, FL, 1989.
 
29
 
30
Taenzer, David, et al. "Object-Oriented Software Reuse: The Yoyo Problem". J. Obj.-Oriented Progr. 2, 3 (Sept./Oct. 1989), 30-35.
 
31
Taft, Tucker, et al. [Ada-9X] DRAFT Mapping Document. Ada-9X Proj. Rep., Feb. 1991.
 
32
Taft, Tucker, et al. [Ada-9X] DRAFT Mapping Rationale Document. Ada-9X Proj. Rep., Feb. 1991.
33