Affiliation:
1. Radboud University Nijmegen, Netherlands
2. Carnegie Mellon University, USA
Abstract
Session types have recently been integrated with functional languages, bringing message-passing concurrency to functional programming.
Channel endpoints then become first-class and can be stored in data structures, captured in closures, and sent along channels.
Representatives of the GV (Wadler's "Good Variation") session type family are of particular appeal because they not only assert session fidelity but also deadlock freedom, inspired by a Curry-Howard correspondence to linear logic.
A restriction of current versions of GV, however, is the focus on binary sessions, limiting concurrent interactions within a session to two participants.
This paper introduces Multiparty GV (MPGV), a functional language with multiparty session types, allowing concurrent interactions among several participants.
MPGV upholds the strong guarantees of its ancestor GV, including deadlock freedom, despite session interleaving and delegation.
MPGV has a novel redirecting construct for modular programming with first-class endpoints,
thanks to which we give a type-preserving translation from binary session types to MPGV to show that MPGV is strictly more general than binary GV.
All results in this paper have been mechanized using the Coq proof assistant.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
8 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献