Types and Terms Translated: Unrestricted Resources in Encoding Functions as Processes
Venue
27th International Conference on Types for Proofs and Programs, TYPES 2021, June 14-18, 2021, Leiden, The Netherlands (Virtual Conference), pp. 11:1–11:24
Publication Year
2021
Identifiers
Authors
- Joseph W. N. Paulus
- Daniele Nantes
- Jorge A. Pérez
Abstract
Type-preserving translations are effective rigorous tools in the study of core programming calculi. In this paper, we develop a new typed translation that connects sequential and concurrent calculi; it is governed by type systems that control resource consumption. Our main contribution is the source language, a new resource λ-calculus with non-collapsing non-determinism and failures, dubbed uλ^↯_⊕. In uλ^↯_⊕, resources are split into linear and unrestricted; failures are explicit and arise from this distinction. We define a type system based on intersection types to control resources and fail-prone computation. The target language is 𝗌π, an existing session-typed π-calculus that results from a Curry-Howard correspondence between linear logic and session types. Our typed translation subsumes our prior work; interestingly, it treats unrestricted resources in uλ^↯_⊕ as client-server session behaviours in 𝗌π.