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

research
10/16/2020

Relating Functional and Imperative Session Types

Imperative session types provide an imperative interface to session-type...
research
10/31/2022

Polymorphic Typestate for Session Types

Session types provide a principled approach to typed communication proto...
research
07/31/2018

Multiparty Dependent Session Types (Extended Abstract)

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

A Session Type System for Asynchronous Unreliable Broadcast Communication

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

Label-Dependent Session Types

Session types have emerged as a typing discipline for communication prot...
research
08/16/2022

Asynchronous Functional Sessions: Cyclic and Concurrent (Extended Version)

We present Concurrent GV (CGV), a functional calculus with message-passi...
research
05/08/2020

π with leftovers: a mechanisation in Agda

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

Please sign up or login with your details

Forgot password? Click here to reset