Gradual Session Types

09/15/2018
by   Atsushi Igarashi, et al.
0

Session types are a rich type discipline, based on linear types, that lifts the sort of safety claims that come with type systems to communications. However, web-based applications and microservices are often written in a mix of languages, with type disciplines in a spectrum between static and dynamic typing. Gradual session types address this mixed setting by providing a framework which grants seamless transition between statically typed handling of sessions and any required degree of dynamic typing. We propose Gradual GV as a gradually typed extension of the functional session type system GV. Following a standard framework of gradual typing, Gradual GV consists of an external language, which relaxes the type system of GV using dynamic types, and an internal language with casts, for which operational semantics is given, and a cast-insertion translation from the former to the latter. We demonstrate type and communication safety as well as blame safety, thus extending previous results to functional languages with session-based communication. The interplay of linearity and dynamic types requires a novel approach to specifying the dynamics of the language.

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
05/14/2021

Multiparty Session Types for Safe Runtime Adaptation in an Actor Language (Extended version)

Human fallibility, unpredictable operating environments, and the heterog...
research
09/08/2018

Affine Sessions

Session types describe the structure of communications implemented by ch...
research
01/28/2021

Putting gradual types to work

In this paper, we describe our experience incorporating gradual types in...
research
10/27/2020

Abstracting Gradual Typing Moving Forward: Precise and Space-Efficient (Technical Report)

Abstracting Gradual Typing (AGT) is a systematic approach to designing g...
research
08/31/2020

Substructural Observed Communication Semantics

Session-types specify communication protocols for communicating processe...
research
02/01/2019

Comprehensive Multiparty Session Types

Multiparty session types (MST) are a well-established type theory that d...

Please sign up or login with your details

Forgot password? Click here to reset