dc.contributor.author | Fowler, Simon | |
dc.contributor.author | Lindley, Sam | |
dc.contributor.author | Morris, J. Garrett | |
dc.contributor.author | Decova, Sara | |
dc.date.accessioned | 2018-12-14T18:05:32Z | |
dc.date.available | 2018-12-14T18:05:32Z | |
dc.date.issued | 2019 | |
dc.identifier.citation | Simon Fowler, Sam Lindley, J. Garrett Morris, and Sára Decova. 2019. Exceptional Asynchronous Session
Types: Session Types without Tiers. Proc. ACM Program. Lang. 3, POPL, Article 28 (January 2019), 29 pages.
https://doi.org/10.1145/3290341 | en_US |
dc.identifier.uri | http://hdl.handle.net/1808/27512 | |
dc.description.abstract | Session types statically guarantee that communication complies with a protocol. However, most accounts of
session typing do not account for failure, which means they are of limited use in real applicationsÐespecially
distributed applicationsÐwhere failure is pervasive.
We present the first formal integration of asynchronous session types with exception handling in a functional
programming language. We define a core calculus which satisfies preservation and progress properties, is
deadlock free, confluent, and terminating.
We provide the first implementation of session types with exception handling for a fully-fledged functional
programming language, by extending the Links web programming language; our implementation draws
on existing work on effect handlers. We illustrate our approach through a running example of two-factor
authentication, and a larger example of a session-based chat application where communication occurs over
session-typed channels and disconnections are handled gracefully. | en_US |
dc.publisher | Association for Computing Machinery | en_US |
dc.rights | This work is licensed under a Creative Commons Attribution 4.0 International License. © 2019 Copyright held by the owner/author(s). | en_US |
dc.rights.uri | https://creativecommons.org/licenses/by/4.0/ | en_US |
dc.subject | Session types | en_US |
dc.subject | Asynchrony | en_US |
dc.subject | Exceptions | en_US |
dc.subject | Web programming | en_US |
dc.title | Exceptional Asynchronous Session Types: Session Types without Tiers | en_US |
dc.type | Article | en_US |
kusw.kuauthor | Morris, J. Garrett | |
kusw.kuauthor | Decova, Sara | |
kusw.kudepartment | Electrical Engineering and Computer Science | en_US |
dc.identifier.doi | 10.1145/3290341 | en_US |
kusw.oaversion | Scholarly/refereed, publisher version | en_US |
kusw.oapolicy | This item meets KU Open Access policy criteria. | en_US |
dc.rights.accessrights | openAccess | en_US |