Semantics for communication primitives in a polymorphic language
We propose a method to extend an ML-style polymorphic language with transparent communication primitives, and give their precise operational semantics. These primitives allow any polymorphic programs de nable in ML to be used remotely in a manner completely transparent to the programmer. Furthermore...
Main Authors: | , |
---|---|
Other Authors: | |
Format: | Text |
Language: | English |
Published: |
1993
|
Subjects: | |
Online Access: | http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.216.2808 http://www.osss.is.tsukuba.ac.jp/kato/files/93popl.pdf |
Summary: | We propose a method to extend an ML-style polymorphic language with transparent communication primitives, and give their precise operational semantics. These primitives allow any polymorphic programs de nable in ML to be used remotely in a manner completely transparent to the programmer. Furthermore, communicating programs may be based on di erent architecture and use di erent data representations. We de ne a polymorphic functional calculus with transparent communication primitives, which we call dML, as an extension of Damas and Milner's proof system for ML. We then develop an algorithm to translate dML to a \core " language containing only low-level communication primitives that are readily implementable in most of distributed environments. To establish the type safety of communicating programs, we de ne an operational semantics of the core language and prove that the polymorphic type system of dML is sound with respect to the operational semantics of the translated terms of the core language. |
---|