Alice or Bob?: Process Polymorphism in Choreographies
Eva Graversen (1), Andrew K. Hirsch (2), Fabrizio Montesi (1) ((1), University of Southern Denmark, (2) University at Buffalo)

TL;DR
PolyChorλ is a new higher-order functional choreographic language with type and process polymorphism, enabling runtime participant determination and distributed value communication, while ensuring deadlock-free distributed implementations.
Contribution
It introduces PolyChorλ, the first higher-order functional choreographic language with process polymorphism and runtime participant flexibility, expanding the expressiveness of choreographic programming.
Findings
Supports distributed value communication and delegation.
Ensures deadlock-free projected programs.
Enables runtime participant determination.
Abstract
We present PolyChor, a language for higher-order functional \emph{choreographic programming} -- an emerging paradigm by which programmers write the desired cooperative behaviour of a system of communicating processes and then compile it into distributed implementations for each process, a translation called \emph{endpoint projection}. Unlike its predecessor, Chor, PolyChor has both type and \emph{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 \emph{distributed values}, leading to a new and intuitive way to write delegation. While some of the functional features of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsReinforcement Learning in Robotics · Logic, programming, and type systems · Modular Robots and Swarm Intelligence
