Polymorphic Context-free Session Types

06/12/2021
by   Bernardo Almeida, et al.
0

Context-free session types provide a typing discipline for recursive structured communication protocols on bidirectional channels. They overcome the restriction of regular session type systems to tail recursive protocols. This extension enables us to implement serialisation and deserialisation of tree structures in a fully type-safe manner. We present the theory underlying the language FreeST 2, which features context-free session types in an extension of System F with linear types and a kind system to distinguish message types and channel types. The system presents some metatheoretical challenges, which we address, contractivity in the presence of polymorphism, a non-trivial equational theory on types, and decidability of type equivalence. We also establish standard results on type preservation, progress, and a characterisation of erroneous processes.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/27/2018

Context-Free Session Types for Applied Pi-Calculus

We present a binary session type system using context-free session types...
research
09/28/2020

Ferrite: A Judgmental Embedding of Session Types in Rust

This article introduces Ferrite, a shallow embedding of session types in...
research
01/20/2022

The Different Shades of Infinite Session Types

Many type systems include infinite types. In session type systems, which...
research
04/07/2023

Parameterized Algebraic Protocols

We propose algebraic protocols that enable the definition of protocol te...
research
07/11/2023

Subtyping Context-Free Session Types

Context-free session types describe structured patterns of communication...
research
01/20/2023

System F^μ_ω with Context-free Session Types

We study increasingly expressive type systems, from F^μ – an extension o...
research
03/02/2023

Intrinsically Typed Sessions With Callbacks

All formalizations of session types rely on linear types for soundness a...

Please sign up or login with your details

Forgot password? Click here to reset