Recent trends in programming language design and implementation are aimed at integrating the two most important constructs to combat complexity: modules and classes. Both constructs provide encapsulation, a cornerstone of reliable programming. These constructs differ in their approach to building hierarchies: modules define visibility of components while classes define visibility of functionality. How can modules and classes be effectively integrated within a simple programming language? This question captures the essence of developing semantics of these constructs to ensure that they interact in a meaningful way. This paper develops a formal denotational semantic framework for understanding the interaction between classes and modules within programming languages. This semantic framework is developed incrementally; beginning with a base object oriented language with support for classes, objects, message passing and inheritance; and followed by extensions that support modules. These extensions consider
Programming Languages, Formal Definitions and Theory, Theory of Computation, Specifying and Verifying and Reasoning about Programs, Semantics of Programming Languages, Formal Languages
Programming Languages and Compilers | Software Engineering
Joint Modular Languages Conference
City or Country
University of Ulm, Germany
DODANI, Mahesh and GAN, Benjamin Kok Siew.
A Semantic Framework for Understanding the Behavior of Modules and Classes in Programming Languages. (1994). Joint Modular Languages Conference. 12. Research Collection School Of Information Systems.
Available at: http://ink.library.smu.edu.sg/sis_research/2242
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License.