Types and Terms Translated: Unrestricted Resources in Encoding Functions as Processes (Extended Version)
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...
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | 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 $\lambda$-calculus with non-determinism and failures,
dubbed \ulamf. In \ulamf, 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 \spi, an existing session-typed $\pi$-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 \lamrfailunres as client-server session behaviours in
\spi. |
---|---|
DOI: | 10.48550/arxiv.2112.01593 |