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

03/24/2022
by   Daniel Marshall, et al.
0

Session types provide guarantees about concurrent behaviour and can be understood through their correspondence with linear logic, with propositions as sessions and proofs as processes. However, a strictly linear setting is somewhat limiting, since there exist various useful patterns of communication that rely on non-linear behaviours. For example, shared channels provide a way to repeatedly spawn a process with binary communication along a fresh linear session-typed channel. Non-linearity can be introduced in a controlled way in programming through the general concept of graded modal types, which are a framework encompassing various kinds of coeffect typing (describing how computations make demands on their context). This paper shows how graded modal types can be leveraged alongside session types to enable various non-linear concurrency behaviours to be re-introduced in a precise manner in a type system with a linear basis. The ideas here are demonstrated using Granule, a functional programming language with linear, indexed, and graded modal types.

READ FULL TEXT

page 1

page 2

page 3

page 4

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
01/15/2021

Manifestly Phased Communication via Shared Session Types

Session types denote message protocols between concurrent processes, all...
research
10/31/2022

Polymorphic Typestate for Session Types

Session types provide a principled approach to typed communication proto...
research
12/30/2021

Deriving Distributive Laws for Graded Linear Types

The recent notion of graded modal types provides a framework for extendi...
research
04/17/2018

Parallel Complexity Analysis with Temporal Session Types

We study the problem of parametric parallel complexity analysis of concu...
research
02/16/2019

Resource-Aware Session Types for Digital Contracts

Programming digital contracts comes with unique challenges, which includ...
research
07/11/2023

Subtyping Context-Free Session Types

Context-free session types describe structured patterns of communication...

Please sign up or login with your details

Forgot password? Click here to reset