This note examines the MODULA-2 approach to build data abstractions and abstract data types. MODULA-2 provides a byreference semantics by providing opaque types via pointers. The paper compares this mechanism with the one furnished by ADA (*). A comparison with object-oriented systems brings out the issue of assignment, copy and compare operations. That leads to a constructive methodology for abstract data types in MODULA-2. Any abstraction must furnish copy operations with two different semantics, respectively shallow and deep, and related equality and inequality operations. © 1988, ACM. All rights reserved.
The role of opaque types to build abstractions / Corradi, A.; Leonardi, L.. - In: SIGPLAN NOTICES. - ISSN 0362-1340. - 23:12(1988), pp. 24-37. [10.1145/57669.57670]