Loading...
Please wait, while we are loading the content...
Similar Documents
10 Session Types with Linearity in Haskell
| Content Provider | Semantic Scholar |
|---|---|
| Author | Orchard, Dominic A. Yoshida, Nobuko |
| Copyright Year | 2017 |
| Abstract | Type systems with parametric polymorphism can encode a significant proportion of the information contained in session types. This allows concurrent programming with session-type-like guarantees in languages like ML and Java. However, statically enforcing the linearity properties of session types, in a way that is also natural to program with, is more challenging. Haskell provides various language features that can capture concurrent programming with session types, with full linearity invariants and in a mostly idiomatic style. This chapter overviews various approaches in the literature for session typed programming in Haskell. As a starting point, we use polymorphic types and simple type-level functions to provide session-typed communication in Haskell without linearity. We then overview and compare the varying approaches to implementing session types with static linearity checks. We conclude with a discussion of the remaining open problems. The code associated with this chapter can be found at http://github. com/dorchard/betty-book-haskell-sessions. |
| File Format | PDF HTM / HTML |
| Alternate Webpage(s) | http://www.riverpublishers.com/pdf/ebook/chapter/RP_9788793519817C10.pdf |
| Alternate Webpage(s) | https://kar.kent.ac.uk/66632/1/RP_9788793519817C10.pdf |
| Language | English |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Article |