Alice or Bob?: Process polymorphism in choreographies

7Citations
Citations of this article
3Readers
Mendeley users who have this article in their library.

Abstract

We present PolyChor, a language for higher-order functional choreographic programming - an emerging paradigm for concurrent programming. In choreographic programming, programmers write the desired cooperative behaviour of a system of processes and then compile it into an implementation for each process, a translation called endpoint projection. Unlike its predecessor, Chor, PolyChor has both type and process polymorphism inspired by System F. That is, PolyChor is the first (higher-order) functional choreographic language which gives programmers the ability to write generic choreographies and determine the participants at runtime. This novel combination of features also allows PolyChor processes to communicate distributed values, leading to a new and intuitive way to write delegation. While some of the functional features of PolyChor give it a weaker correspondence between the semantics of choreographies and their endpoint-projected concurrent systems than some other choreographic languages, we still get the hallmark end result of choreographic programming: projected programmes are deadlock-free by design.

Cite

CITATION STYLE

APA

Graversen, E., Hirsch, A. K., & Montesi, F. (2024). Alice or Bob?: Process polymorphism in choreographies. Journal of Functional Programming, 34(5). https://doi.org/10.1017/S0956796823000114

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free