@inproceedings{25f3b69f4f6947069f59ab208fbe9083,
title = "Reversible Session-Based Concurrency in Haskell",
abstract = "A reversible semantics enables to undo computation steps. Reversing message-passing, concurrent programs is a challenging and delicate task; one typically aims at causally consistent reversible semantics. Prior work has addressed this challenge in the context of a process model of multiparty protocols (or choreographies). In this paper, we describe a Haskell implementation of this reversible operational seman- tics. We exploit algebraic data types to faithfully represent three core ingredients: a process calculus, multiparty session types, and forward and backward reduction semantics. Our implementation bears witness to the convenience of pure functional programming for implementing reversible languages.",
author = "{Vries, de}, Folkert and Perez, {Jorge A.}",
year = "2019",
doi = "10.1007/978-3-030-18506-0_2",
language = "English",
isbn = "978-3-030-18505-3",
series = " Lecture Notes in Computer Science",
publisher = "Springer",
pages = "20--45",
editor = "Michal Palka and Magnus Myreen",
booktitle = "Trends in Functional Programming",
note = "19th International Symposium, TFP 2018 ; Conference date: 11-06-2018 Through 13-06-2018",
}