## Equational Reasoning for Linking with First-Class Primitive Modules (2000)

Venue: | In European Symposium on Programming |

Citations: | 27 - 5 self |

### BibTeX

@INPROCEEDINGS{Wells00equationalreasoning,

author = {J. B. Wells and René Vestergaard},

title = {Equational Reasoning for Linking with First-Class Primitive Modules},

booktitle = {In European Symposium on Programming},

year = {2000},

pages = {412--428},

publisher = {Springer-Verlag}

}

### Years of Citing Articles

### OpenURL

### Abstract

. 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 definitions. The m-calculus can also express widely varying kinds of module systems as used in languages like C, Haskell, and ML. We prove the mcalculus is confluent, thereby showing that equational reasoning via the m-calculus is sensible and well behaved. 1 Introduction A long version of this paper [43] which contains full proofs, more details and explanations, and comparisons with more calculi (including the calculus of Ancona and Zucca [4]), is available at http://www.cee.hw.ac.uk/~jbw/papers/. 1.1 Support f...