Projects per year
Abstract
The RPC calculus is a simple semantic foundation for multi-tier programming languages such as Links in which located functions can be written for the client-server model. Subsequently, the typed RPC calculus is designed to capture the location information of functions by types and to drive location type-directed slicing compilations. However, the use of locations is currently limited to monomorphic ones, which is one of the gaps to overcome to put into practice the theory of RPC calculi for client-server model. This paper proposes a polymorphic RPC calculus to allow programmers to write succinct multi-tier programs using polymorphic location constructs. Then the polymorphic multi-tier programs can be automatically translated into programs only containing location constants amenable to the existing slicing compilation methods. We formulate a type system for the polymorphic RPC calculus, and prove its type soundness. Also, we design a monomorphization translation together with proofs on its type and semantic correctness for the translation.
Original language | English |
---|---|
Article number | 102499 |
Number of pages | 22 |
Journal | Science of Computer Programming |
Volume | 197 |
Early online date | 5 Jun 2020 |
DOIs | |
Publication status | Published - 1 Oct 2020 |
Keywords / Materials (for Non-textual outputs)
- multi-tier programming
- location polymorphism
- remote procedure call
- client-server model
Fingerprint
Dive into the research topics of 'A polymorphic RPC calculus'. Together they form a unique fingerprint.Projects
- 3 Finished
-
-
Skye-A programming language bridging theory and practice for scientific data curation
Cheney, J. (Principal Investigator)
1/09/16 → 28/02/23
Project: Research
-
From Data Types to Session Types - A Basis for Concurrency and Distribution
Wadler, P. (Principal Investigator)
20/05/13 → 19/11/20
Project: Research