Functional Choreographic Programming
Luís Cruz-Filipe, Eva Graversen, Lovro Lugovic, Fabrizio Montesi, Marco Peressotti
[2022].
In proceedings of ICTAC 2022, pp. 212-237.
Choreographic programming is an emerging programming paradigm for concurrent and distributed systems, where developers write the communications that should be enacted and a compiler then automatically generates a distributed implementation.
Currently, the most advanced incarnation of the paradigm is Choral, an object-oriented choreographic programming language that targets Java. Choral deviated significantly from known theories of choreographies, and in particular introduced the possibility of expressing higher-order choreographies that are fully distributed.
In this article, we introduce Chorλ, the first functional choreographic programming language. It is also the first theory that explains the core ideas of higher-order choreographic programming. We show that bridging the gap between practice and theory requires developing a new evaluation strategy and typing discipline for λ terms that accounts for the distributed nature of computation in choreographies.
@inproceedings{DBLP:conf/ictac/Cruz-FilipeGLMP22, author = {Lu{\'{\i}}s Cruz{-}Filipe and Eva Graversen and Lovro Lugovic and Fabrizio Montesi and Marco Peressotti}, editor = {Helmut Seidl and Zhiming Liu and Corina S. Pasareanu}, title = {Functional Choreographic Programming}, booktitle = {Theoretical Aspects of Computing - {ICTAC} 2022 - 19th International Colloquium, Tbilisi, Georgia, September 27-29, 2022, Proceedings}, series = {Lecture Notes in Computer Science}, volume = {13572}, pages = {212--237}, publisher = {Springer}, year = {2022}, url = {https://doi.org/10.1007/978-3-031-17715-6\_15}, doi = {10.1007/978-3-031-17715-6\_15}, timestamp = {Mon, 05 Dec 2022 13:35:50 +0100}, biburl = {https://dblp.org/rec/conf/ictac/Cruz-FilipeGLMP22.bib}, bibsource = {dblp computer science bibliography, https://dblp.org} }
A PDF is available (possibly a preprint):