Technical reports
Modules, abstract types, and distributed versioning
September 2000, 46 pages
DOI: 10.48456/tr-506
Abstract
In a wide-area distributed system it is often impractical to synchronise software updates, so one must deal with many coexisting versions. We study static typing support for modular wide-area programming, modelling separate compilation/linking and execution of programs that interact along typed channels. Interaction may involve communication of values of abstract types; we provide the developer with fine-grain versioning control of these types to support interoperation of old and new code. The system makes use of a second-class module system with singleton kinds; we give a novel operational semantics for separate compilation/linking and execution and prove soundness.
Full text
PDF (0.4 MB)
PS (0.2 MB)
DVI (0.1 MB)
BibTeX record
@TechReport{UCAM-CL-TR-506, author = {Sewell, Peter}, title = {{Modules, abstract types, and distributed versioning}}, year = 2000, month = sep, url = {https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-506.pdf}, institution = {University of Cambridge, Computer Laboratory}, doi = {10.48456/tr-506}, number = {UCAM-CL-TR-506} }