Alice or Bob?: Process polymorphism in choreographies

From MaRDI portal
Publication:6131906

DOI10.1017/S0956796823000114arXiv2303.04678WikidataQ129407134 ScholiaQ129407134MaRDI QIDQ6131906FDOQ6131906

Fabrizio Montesi, Eva Graversen, Author name not available (Why is that?)

Publication date: 18 April 2024

Published in: Journal of Functional Programming (Search for Journal in Brave)

Abstract: We present PolyChorlambda, 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, Chorlambda, PolyChorlambda has both type and emph{process} polymorphism inspired by System Fomega. That is, PolyChorlambda 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 PolyChorlambda processes to communicate emph{distributed values}, leading to a new and intuitive way to write delegation. While some of the functional features of PolyChorlambda 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 programs are deadlock-free by design.


Full work available at URL: https://arxiv.org/abs/2303.04678











This page was built for publication: Alice or Bob?: Process polymorphism in choreographies

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q6131906)