Modules and linking are usually formalized by encodings which use the λ-calculus, records (possibly dependent), and possibly some construct for recursion. In contrast, we introduce the m-calculus, a calculus where the primitive constructs are modules, linking, and the selection and hiding of module components. The m-calculus supports smooth encodings of software structuring tools such as functions (λ - calculus), records, objects (ς-calculus), and mutually recursive denitions. The m-calculus can also express widely varying kinds of module systems as used in languages like C, Haskell, and ML. We prove the m- calculus is confluent, thereby showing that equational reasoning via the m-calculus is sensible and well behaved. © 2000 Springer-Verlag Berlin Heidelberg.
CITATION STYLE
Wells, J. B., & Vestergaard, R. (2000). Equational reasoning for linking with first-class primitive modules. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 1782, 412–428. https://doi.org/10.1007/3-540-46425-5_27
Mendeley helps you to discover research relevant for your work.