A Semantic Framework for Understanding the Behavior of Modules and Classes in Programming Languages

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 hi...

Full description

Saved in:
Bibliographic Details
Main Authors: DODANI, Mahesh, GAN, Benjamin Kok Siew
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 1994
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/2242
https://ink.library.smu.edu.sg/context/sis_research/article/3242/viewcontent/JMLC94.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
Description
Summary: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