Intrinsically-Typed Mechanized Semantics for Session Types

08/08/2019
by   Peter Thiemann, et al.
0

Session types have emerged as a powerful paradigm for structuring communication-based programs. They guarantee type soundness and session fidelity for concurrent programs with sophisticated communication protocols. As type soundness proofs for languages with session types are tedious and technically involved, it is rare to see mechanized soundness proofs for these systems. We present an executable intrinsically typed small-step semantics for a realistic functional session type calculus. The calculus includes linearity, recursion, and recursive sessions with subtyping. Asynchronous communication is modeled with an encoding. The semantics is implemented in Agda as an intrinsically typed, interruptible CEK machine. This implementation proves type preservation and a particular notion of progress by construction.

READ FULL TEXT

page 1

page 2

page 3

page 4

10/16/2020

Relating Functional and Imperative Session Types

Imperative session types provide an imperative interface to session-type...
07/31/2018

Multiparty Dependent Session Types (Extended Abstract)

Programs are more distributed and concurrent today than ever before, and...
02/04/2019

A Session Type System for Asynchronous Unreliable Broadcast Communication

Session types are formal specifications of communication protocols, allo...
11/02/2019

Label-Dependent Session Types

Session types have emerged as a typing discipline for communication prot...
05/08/2020

π with leftovers: a mechanisation in Agda

The π-calculus is a computational model for communication and concurrenc...
11/11/2020

Session Coalgebras: A Coalgebraic View on Session Types and Communication Protocols

Compositional methods are central to the development and verification of...
04/16/2022

Fault-Tolerant Multiparty Session Types (Technical Report)

Multiparty session types are designed to abstractly capture the structur...