A Typed Slicing Compilation of the Polymorphic RPC Calculus

07/22/2021
by   Kwanghoon Choi, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/24/2019

A Polymorphic RPC Calculus

The RPC calculus is a simple semantic foundation for multi-tier programm...
research
10/28/2021

A Theory of RPC Calculi for Client-Server Model

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

A Proposal for an Interactive Shell Based on a Typed Lambda Calculus

This paper presents Favalon, a functional programming language built on ...
research
03/29/2022

Towards the Future: Bring Program Correctness back to the focus

Program correctness used to be the main concern of computer software in ...
research
06/10/2023

Formalizing Box Inference for Capture Calculus

Capture calculus has recently been proposed as a solution to effect chec...
research
08/13/2018

A prototype-based approach to object reclassification

We investigate, in the context of functional prototype-based lan- guages...
research
09/13/2022

Monadic and Comonadic Aspects of Dependency Analysis

Dependency analysis is vital to several applications in computer science...

Please sign up or login with your details

Forgot password? Click here to reset