Proceedings of the Eighth ACM SIGPLAN International Conference on Functional Programming 2003
DOI: 10.1145/944705.944714
|View full text |Cite
|
Sign up to set email alerts
|

Global abstraction-safe marshalling with hash types

Abstract: Type abstraction is a key feature of ML-like languages for writing large programs. Marshalling is necessary for writing distributed programs, exchanging values via network byte-streams or persistent stores. In this paper we combine the two, developing compile-time and run-time semantics for marshalling, that guarantee abstraction-safety between separately-built programs.We obtain a namespace for abstract types that is global, i.e. meaningful between programs, by hashing module declarations. We examine the scen… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
14
0
2

Year Published

2003
2003
2008
2008

Publication Types

Select...
5
2
1

Relationship

4
4

Authors

Journals

citations
Cited by 21 publications
(16 citation statements)
references
References 20 publications
0
14
0
2
Order By: Relevance
“…Part of the motivation for this work is to cope with marshalling of values in distributed functional languages, but this paper does not deal with issues of type coherence between separately-compiled run-times. One might combine λ io marsh with the hash types of [LPSW03]. The λ io marsh calculus has communication on channels but not π-calculus-style new channel generation.…”
Section: Discussionmentioning
confidence: 99%
“…Part of the motivation for this work is to cope with marshalling of values in distributed functional languages, but this paper does not deal with issues of type coherence between separately-compiled run-times. One might combine λ io marsh with the hash types of [LPSW03]. The λ io marsh calculus has communication on channels but not π-calculus-style new channel generation.…”
Section: Discussionmentioning
confidence: 99%
“…In the absence of type abstraction this might work well, but here it seems we would need to propagate abstraction boundaries at runtime, perhaps using some form of the coloured brackets introduced by Grossman et. al [18] and further developed in the Acute semantics [22,33]. This would be complex and costly.…”
Section: Compositionality Of Runtime Type Representationsmentioning
confidence: 99%
“…In previous work we have studied several aspects of this problem, developing theoretical calculi that construct globally meaningful runtime type names freshly [31] and based on code hashes [22], calculi of dynamic rebinding [4], and a prototype language, Acute, to explore the design space further [33,34].…”
mentioning
confidence: 99%
“…The pickler throws an exception if it finds a resource. The pickler does not try to rebind resources (as discussed in [9,16]). Rebinding could however be realized with the transformation mechanism introduced next.…”
Section: Resourcesmentioning
confidence: 99%