Deadlock-Free Session Types in Linear Haskell

Kokke, W. and Dardha, O. (2021) Deadlock-Free Session Types in Linear Haskell. In: 14th ACM SIGPLAN International Symposium on Haskell (Haskell 2021), 26-27 Aug 2021, ISBN 9781450386159 (doi: 10.1145/3471874.3472979)

[img] Text
249058.pdf - Accepted Version

724kB

Abstract

Priority Sesh is a library for session-typed communication in Linear Haskell which offers strong compile-time correctness guarantees. Priority Sesh offers two deadlock-free APIs for session-typed communication. The first guarantees deadlock freedom by restricting the process structure to trees and forests. It is simple and composeable, but rules out cyclic structures. The second guarantees deadlock freedom via priorities, which allows the programmer to safely use cyclic structures as well. Our library relies on Linear Haskell to guarantee linearity, which leads to easy-to-write session types and more idiomatic code, and lets us avoid the complex encodings of linearity in the Haskell type system that made previous libraries difficult to use.

Item Type:Conference Proceedings
Additional Information:This work is supported by the EU HORIZON 2020 MSCA RISE project 778233 “Behavioural Application Program Interfaces” (BehAPI).
Status:Published
Refereed:Yes
Glasgow Author(s) Enlighten ID:Dardha, Dr Ornela
Authors: Kokke, W., and Dardha, O.
College/School:College of Science and Engineering > School of Computing Science
ISBN:9781450386159
Copyright Holders:Copyright © 2021 The Authors
First Published:First published in Proceedings of the 14th ACM SIGPLAN International Symposium on Haskell
Publisher Policy:Reproduced in accordance with the copyright policy of the publisher
Related URLs:

University Staff: Request a correction | Enlighten Editors: Update this record

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
300253BEHAPIOrnela DardhaEuropean Commission (EC)778223Computing Science