A Typed Slicing Compilation of the Polymorphic RPC Calculus
Abstract
The polymorphic RPC calculus allows programmers to write succinct multitier programs using polymorphic location constructs. However, until now it lacked an implementation. We develop an experimental programming language based on the polymorphic RPC calculus. We introduce a polymorphic Client-Server (CS) calculus with the client and server parts separated. In contrast to existing untyped CS calculi, our calculus is not only able to resolve polymorphic locations statically, but it is also able to do so dynamically. We design a type-based slicing compilation of the polymorphic RPC calculus into this CS calculus, proving type and semantic correctness. We propose a method to erase types unnecessary for execution but retaining locations at runtime by translating the polymorphic CS calculus into an untyped CS calculus, proving semantic correctness.
Cite
@article{arxiv.2107.10793,
title = {A Typed Slicing Compilation of the Polymorphic RPC Calculus},
author = {Kwanghoon Choi and James Cheney and Sam Lindley and Bob Reynders},
journal= {arXiv preprint arXiv:2107.10793},
year = {2021}
}
Comments
A long version of PPDP 2021 (23rd International Symposium on Principles and Practice of Declarative Programming)