Alice or Bob?: Process polymorphism in choreographies

From MaRDI portal
Publication:6131906




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.











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)