A Polymorphic RPC Calculus

10/24/2019
by   Kwanghoon Choi, et al.
0

The RPC calculus is a simple semantic foundation for multi-tier programming languages such as Links in which located functions can be written for 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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/28/2021

A Theory of RPC Calculi for Client-Server Model

With multi-tier programming languages, programmers can specify the locat...
research
07/22/2021

A Typed Slicing Compilation of the Polymorphic RPC Calculus

The polymorphic RPC calculus allows programmers to write succinct multit...
research
06/20/2022

Semantic preservation for a type directed translation scheme of Featherweight Go

Featherweight Go (FG) is a minimal core calculus that includes essential...
research
09/03/2017

Formalising Type-Logical Grammars in Agda

In recent years, the interest in using proof assistants to formalise and...
research
12/02/2021

Types and Terms Translated: Unrestricted Resources in Encoding Functions as Processes (Extended Version)

Type-preserving translations are effective rigorous tools in the study o...
research
09/18/2022

A Type-Directed, Dictionary-Passing Translation of Featherweight Generic Go

Featherweight Generic Go (FGG) is a minimal core calculus modeling the e...
research
04/15/2021

Sized Types with Usages for Parallel Complexity of Pi-Calculus Processes

We address the problem of analysing the complexity of concurrent program...

Please sign up or login with your details

Forgot password? Click here to reset