Structured programming with limited private types in Ada
- 1 August 1991
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGAda Ada Letters
- Vol. XI (5) , 79-90
- https://doi.org/10.1145/122215.122219
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.Keywords
This publication has 18 references indexed in Scilit:
- I-structures: data structures for parallel computingACM Transactions on Programming Languages and Systems, 1989
- Object-oriented programming techniques with Ada: an exampleACM SIGAda Ada Letters, 1989
- Using the re-export paradigm to build composable Ada software componentsACM SIGAda Ada Letters, 1988
- Embedding continuations in procedural objectsACM Transactions on Programming Languages and Systems, 1987
- Updating elements of a collection in placeACM SIGAda Ada Letters, 1986
- On defining "=" in AdaACM SIGAda Ada Letters, 1985
- Nesting in Ada programs is for the birdsACM SIGPLAN Notices, 1980
- Can programming be liberated from the von Neumann style?Communications of the ACM, 1978
- List processing in real time on a serial computerCommunications of the ACM, 1978
- Lambda calculus schemataACM SIGPLAN Notices, 1972