Subtyping Context-Free Session Types

07/11/2023
by   Gil Silva, et al.
0

Context-free session types describe structured patterns of communication on heterogeneously-typed channels, allowing the specification of protocols unconstrained by tail recursion. The enhanced expressive power provided by non-regular recursion comes, however, at the cost of the decidability of subtyping, even if equivalence is still decidable. We present an approach to subtyping context-free session types based on a novel kind of observational preorder we call 𝒳𝒴𝒵𝒲-simulation, which generalizes 𝒳𝒴-simulation (also known as covariant-contravariant simulation) and therefore also bisimulation and plain simulation. We further propose a subtyping algorithm that we prove to be sound, and present an empirical evaluation in the context of a compiler for a programming language. Due to the general nature of the simulation relation upon which it is built, this algorithm may also find applications in other domains.

READ FULL TEXT
research
04/02/2019

FreeST: Context-free Session Types in a Functional Language

FreeST is an experimental concurrent programming language. Based on a co...
research
06/12/2021

Polymorphic Context-free Session Types

Context-free session types provide a typing discipline for recursive str...
research
10/13/2020

Nested Session Types

Session types statically describe communication protocols between concur...
research
03/24/2022

Higher-order Context-free Session Types in System F

We present an extension of System F with higher-order context-free sessi...
research
03/24/2022

Replicate, Reuse, Repeat: Capturing Non-Linear Communication via Session Types and Graded Modal Types

Session types provide guarantees about concurrent behaviour and can be u...
research
04/07/2023

Parameterized Algebraic Protocols

We propose algebraic protocols that enable the definition of protocol te...
research
03/26/2021

Deadlock-Free Session Types in Linear Haskell

Priority Sesh is a library for session-typed communication in Linear Has...

Please sign up or login with your details

Forgot password? Click here to reset