Session Types with Linearity in Haskell

作者: Simon Gay , António Ravara

DOI: 10.13052/RP-9788793519817

关键词: System programmingParametric polymorphismJavaComputer programmingSession (computer science)Computer scienceProgramming languageConcurrent computingHaskellSoftware development

摘要: Type systems with parametric polymorphism can encode a significant pro- portion of the information contained in session types. This allows concurrent programming session-type-like guarantees languages like ML and Java. However, statically enforcing linearity properties types, way that is also natural to program with, more challenging. Haskell provides various language features capture full invariants mostly idiomatic style. chapter overviews approaches literature for typed Haskell. As starting point, we use polymorphic types simple type-level functions provide session-typed communication without linearity. We then overview compare varying implementing static checks. conclude discussion remaining open problems. The code associated this be found at http://github. com/dorchard/betty-book-haskell-sessions.

参考文章(14)
Giovanni Bernardi, Ornela Dardha, Simon J. Gay, Dimitrios Kouzapas, On Duality Relations for Session Types trustworthy global computing. pp. 51- 66 ,(2014) , 10.1007/978-3-662-45917-1_4
John H. Reppy, CML: A Higher-Order Concurrent Language. programming language design and implementation. pp. 293- 305 ,(1991)
Jeff Polakow, Embedding a full linear Lambda calculus in Haskell symposium/workshop on haskell. ,vol. 50, pp. 177- 188 ,(2015) , 10.1145/2804302.2804309
MARTIN SULZMANN, GREGORY J. DUCK, SIMON PEYTON-JONES, PETER J. STUCKEY, Understanding functional dependencies via constraint handling rules Journal of Functional Programming. ,vol. 17, pp. 83- 129 ,(2007) , 10.1017/S0956796806006137
Dominic Orchard, Tomas Petricek, Embedding effect systems in Haskell symposium/workshop on haskell. ,vol. 49, pp. 13- 24 ,(2014) , 10.1145/2633357.2633368
Riccardo Pucella, Jesse A. Tov, Haskell session types with (almost) no class Proceedings of the first ACM SIGPLAN symposium on Haskell - Haskell '08. ,vol. 44, pp. 25- 36 ,(2008) , 10.1145/1411286.1411290
Matthias Neubauer, Peter Thiemann, An Implementation of Session Types Practical Aspects of Declarative Languages. pp. 56- 70 ,(2004) , 10.1007/978-3-540-24836-1_5
ROBERT ATKEY, Parameterised notions of computation Journal of Functional Programming. ,vol. 19, pp. 335- 376 ,(2009) , 10.1017/S095679680900728X
SIMON J. GAY, VASCO T. VASCONCELOS, Linear type theory for asynchronous session types Journal of Functional Programming. ,vol. 20, pp. 19- 50 ,(2010) , 10.1017/S0956796809990268