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

Venue: | In ESOP 2000 - European Symposium on Programming 2000, number 1782 in Lecture Notes in Computer Science |

Citations: | 17 - 3 self |

### BibTeX

@INPROCEEDINGS{Wells99confluentequational,

author = {Joe Wells and René Vestergaard},

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

booktitle = {In ESOP 2000 - European Symposium on Programming 2000, number 1782 in Lecture Notes in Computer Science},

year = {1999},

pages = {412--428},

publisher = {Springer}

}

### Years of Citing Articles

### OpenURL

### Abstract

Modules and linking are usually formalized by encodings which use the lambda calculus, records (possibly dependent), and possibly some construct for recursion. In contrast, we present the m-calculus, a calculus where the primitive constructs are modules, linking, and the selection and hiding of module components. In addition to supporting equational reasoning about modules and linking, the m-calculus allows smooth encodings of software structuring tools such as the lambda calculus, mutually recursive definitions, records (including operations like extension and concatenation), and objects. The m-calculus is extremely well behaved --- we show not only that the m-calculus is confluent but also that it satisfies the strong finite developments property.