Dependent Session Types

Session types offer a type-based discipline for enforcing communication protocols in distributed programming. We have previously formalized simple session types in the setting of multi-threaded $λ$-calculus with linear types. In this work, we build upon our earlier work by presenting a form of depen...

Full description

Bibliographic Details
Main Authors: Wu, Hanwen, Xi, Hongwei
Format: Report
Language:unknown
Published: arXiv 2017
Subjects:
DML
Online Access:https://dx.doi.org/10.48550/arxiv.1704.07004
https://arxiv.org/abs/1704.07004
Description
Summary:Session types offer a type-based discipline for enforcing communication protocols in distributed programming. We have previously formalized simple session types in the setting of multi-threaded $λ$-calculus with linear types. In this work, we build upon our earlier work by presenting a form of dependent session types (of DML-style). The type system we formulate provides linearity and duality guarantees with no need for any runtime checks or special encodings. Our formulation of dependent session types is the first of its kind, and it is particularly suitable for practical implementation. As an example, we describe one implementation written in ATS that compiles to an Erlang/Elixir back-end.