Logo image
Embedding session types in Haskell
Conference proceeding   Open access

Embedding session types in Haskell

Sam Lindley and J. Garrett Morris
Haskell 2016 - Proceedings of the 9th International Symposium on Haskell, co-located with ICFP 2016, pp.133-145
09/08/2016
DOI: 10.1145/2976002.2976018
url
https://www.pure.ed.ac.uk/ws/files/27373454/gvhs.pdfView
Open Access

Abstract

We present a novel embedding of session-typed concurrency in Haskell. We extend an existing HOAS embedding of linear λ-calculus with a set of core session-typed primitives, using indexed type families to express the constraints of the session typing discipline. We give two interpretations of our embedding, one in terms of GHC’s built-in concurrency and another in terms of purely functional continuations. Our safety guarantees, including deadlock freedom, are assured statically and introduce no additional runtime overhead.

Details

Metrics

Logo image