Title
Abstraction preservation and subtyping in distributed languages
Abstract
In most programming languages, type abstraction is guaranteed by syntactic scoping in a single program, but is not preserved by marshalling during distributed communication. A solution is to generate hash types at compile time that consist of a fingerprint of the source code implementing the data type. These hash types can be tupled with a marshalled value and compared efficiently at unmarshall time to guarantee abstraction safety. In this paper, we extend a core calculus of ML-like modules, functions, distributed communication, and hash types, to integrate structural subtyping, user-declared subtyping between abstract types, and bounded existential types. Our semantics makes two contributions: (1) the explicit tracking of the interaction between abstraction boundaries and subtyping; (2) support for user-declared module upgrades with propagation of the resulting subhashing relation throughout the network during communication. We prove type preservation, progress, determinacy, and erasure for our system.
Year
DOI
Venue
2006
10.1145/1159803.1159841
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Keywords
Field
DocType
abstract data type,subtyping,distributed computing,programming language,data type,source code,type theory
Programming language,Abstraction,Source code,Compile time,Computer science,Marshalling,Type theory,Theoretical computer science,Data type,Hash function,Subtyping
Conference
Volume
Issue
ISSN
41
9
0362-1340
ISBN
Citations 
PageRank 
1-59593-309-3
6
0.48
References 
Authors
11
2
Name
Order
Citations
PageRank
pierremalo denielou127012.11
James J. Leifer224412.67