| On the unification of data and program abstraction in Ada |
| Full text |
Pdf
(1.08 MB)
|
| Source
|
Annual Symposium on Principles of Programming Languages
archive
Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
table of contents
Austin, Texas
Pages: 256 - 264
Year of Publication: 1983
ISBN:0-89791-090-7
|
|
Author
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 2, Downloads (12 Months): 15, Citation Count: 4
|
|
|
ABSTRACT
Ada is rich in the variety of its abstraction mechanisms. It has both a data abstraction mechanism (packages with private data types) that supports a functional programming style and a program abstraction mechanism (generic program units) that supports an object-oriented program style. Tradeoffs between data and program abstraction are examined and it is pointed out that Ada discourages program abstraction because program units are not first-class objects. It is shown how program units could be made into first-class objects by introducing closures as values for functions and records with function components as values for packages. Further unification by allowing types to be first-class objects conflicts with the requirement of compile-time type invariance. The relaxation of this requirement in a manner that preserves type consistency is examined and leads to a notion of value for types as tuples of operations. It is suggested in the conclusion that our understanding of abstraction for object-oriented languages and of other language design, implementation, and environment issues will have progressed sufficiently by 1985 to warrant the design of a successor to Ada by the late 1980s.
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
|
Reference Manual for the Ada Programming Language, US Department of Defense, July 1980, GPO 008-00000354-8.
|
 |
2
|
M. Gordon , R. Milner , L. Morris , M. Newey , C. Wadsworth, A Metalanguage for interactive proof in LCF, Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, p.119-130, January 23-25, 1978, Tucson, Arizona
[doi> 10.1145/512760.512773]
|
| |
3
|
Van Wijngaarden et al, Revised Report on the Algorithmic Language Algol 68, Numer. Math., Feb 1975.
|
 |
4
|
|
| |
5
|
Smalltalk Issue, Byte, August 1981.
|
 |
6
|
|
 |
7
|
|
| |
8
|
Wegner P., Emperors, Generals, and Programmers, ACM Forum, CACM February 1982.
|
CITED BY 4
|
|
|
|
|
|
|
|
|
|
|
Bent Bruun Kristensen , Ole Lehrmann Madsen , Birger Møller-Pedersen, The when, why and why not of the BETA programming language, Proceedings of the third ACM SIGPLAN conference on History of programming languages, p.10-1-10-57, June 09-10, 2007, San Diego, California
|
|