the finalization operation for abstract types
In this paper we argue the importance of a finalization capability in a programming language abstract type facility. Finalization, the dual of initialization, is crucial for applications involving the allocation of, and access to, abstract resources. A semantic model for finalization is given, defining both statically and dynamically allocated abstract objects, in the presence of exception handling. For illustration, we incorporate finalization in an abstract data type facility designed as an extension of Ada.
abstraction types paper programming language initialization applications allocation access resource semantic models object presence exception handling abstract data type extensibility