ACM Home Page
Please provide us with feedback. Feedback
Structured programming with limited private types in Ada: nesting if for the soaring eagles
Full text PdfPdf (1.01 MB)
Source ACM SIGAda Ada Letters archive
Volume XI ,  Issue 5  (July/August 1991) table of contents
Pages: 79 - 90  
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): 3,   Downloads (12 Months): 9,   Citation Count: 9
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/122215.122219
What is a DOI?

ABSTRACT

Many traditional styles of programming cannot cope with the limitations of Ada limited private types. We present a style of programming that enables structured programming in Ada with limited private types. The problem of "finalization" is safely and cleanly handled through the use of a generic package which guarantees that a variable of the limited private type will be finalized even in the presence of exceptions.Finalization is often desired in order to perform automatic garbage collection, whether by reference counting or by marking. We have proved our structured technique by developing a garbage-collected Lisp system in Ada in which the Lisp values are instances of a limited private type. The Ada code was so highly structured, that it was generated automatically using a simple compiler. The garbage collector in this system was easily and safely implemented, and different garbage collection techniques were tested without affecting user code.


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, U.S. Gov't Printing Office, Wash., DC, 1983.
 
2
3
4
5
 
6
Baker, Henry. "The Automatic Translation of Lisp Applications into Ada". Proc. 8'th Conf. on Ada Tech., Atlanta, GA (March 1990), 633-639.
 
7
Baker, Henry. "CONS Should not CONS its Arguments, or A Lazy Alloc is a Smart Alloc". Submitted to CACM, April, 1990.
 
8
Baker, Henry. "Equal Rights for Functional Objects or, The More Things Change, The More They Are the Same". Submitted to ACM TOPLAS, Aug. 1990.
9
 
10
11
12
13
14
15
 
16
Hanson, Christopher, and Lamping, John. "Dynamic Binding in Scheme". Unpublished manuscript, 1984.
 
17
Harper, R., MacQueen, D., and Milner, R. "Standard ML". ECS-LFCS-86-2, Comp. Sci. Dept., U. of Edinburgh, March 1986, 70p.
 
18
Harper, R., Milner, R., Tofte, Mads. "The Definition of Standard ML, Version 2". ECS-LFCS-88-62, Comp. Sci. Dept., U. of Edinburgh, Aug. 1988, 97p.
19
20
 
21
22
23
24
25
 
26
Schwartz, Richard L., and Melliar-Smith, Peter M. "The Suitability of Ada for Artificial Intelligence Applications". Final Report, Contract #AAG29-79-C-0216, SRI Int'l., Menlo Park, CA, May 1980, 48p.
27
 
28
 
29
 
30
Taft, Tucker, et al. [Ada-9X] DRAFT Mapping Document. Ada-9X Proj. Rep., Feb. 1991.
 
31
Taft, Tucker, et al. [Ada-9X] DRAFT Mapping Rationale Document. Ada-9X Proj. Rep., Feb. 1991.
32
 
33
Yen, Mike, "Adapting an AI-Based Application from its Lisp Environment into a Real-Time Embedded System". Proc. AIAA Comps. in Aerospace VII, Monterey, CA, (Oct. 1989), 1114-1122.
 
34
Yen, Mike. "Using a Dynamic Memory Management Package to Facilitate Building Lisp-like Data Structures in Ada". Proc. AIDA-90, Nov. 1990, 85-93.