On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Mach and Matchmaker: kernel and language support for object-oriented distributed systems
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Facilitating Mixed Language Programming in Distrbuted Systems
IEEE Transactions on Software Engineering
Abstract types have existential type
ACM Transactions on Programming Languages and Systems (TOPLAS)
Programming languages for distributed computing systems
ACM Computing Surveys (CSUR)
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The definition of Standard ML
Dynamic typing in a statically typed language
ACM Transactions on Programming Languages and Systems (TOPLAS)
CML: A higher concurrent language
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Proceedings of the 5th ACM conference on Functional programming languages and computer architecture
A semantics for ML concurrency primitives
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A compilation method for ML-style polymorphic record calculi
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Unboxed objects and polymorphic typing
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Polymorphism and type inference in database programming
ACM Transactions on Database Systems (TODS)
A Value Transmission Method for Abstract Data Types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
Principal type-schemes for functional programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Our LIPS Are Sealed: Interfacing Functional and Logic Programming Systems
PLILP '92 Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming
Compiling polymorphism using intensional type analysis
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Trust and partial typing in open systems of mobile agents
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dynamic typing for distributed programming in polymorphic languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Fully reflexive intensional type analysis
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Guarded recursive datatype constructors
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Intensional analysis of quantified types
ACM Transactions on Programming Languages and Systems (TOPLAS)
D'Caml: Native Support for Distributed ML Programming in Heterogeneous Environment
Euro-Par '99 Proceedings of the 5th International Euro-Par Conference on Parallel Processing
Journal of Functional Programming
Formalising Java RMI with explicit code mobility
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Operational semantics for multi-language programs
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Status report: hot pickles, and how to serve them
ML '07 Proceedings of the 2007 workshop on Workshop on ML
Acute: High-level programming language design for distributed computation
Journal of Functional Programming
Formalising Java RMI with explicit code mobility
Theoretical Computer Science
Operational semantics for multi-language programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Hi-index | 0.00 |
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 definable in ML to be used remotely in a manner completely transparent to the programmer. Furthermore, communicating programs may be based on different architecture and use different data representations.We define 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 define 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.