Choreographic Quick Changes: First-Class Location (Set) Polymorphism

📅 2025-06-12
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Existing choreographic languages lack support for dynamically determining and coordinating the execution location of decision-making computations across distributed nodes. This paper introduces λ_QC—the first compiled coroutine programming language supporting first-class process names and location-set polymorphism. Methodologically, it formalizes location-set polymorphism and first-class process names within a unified type system; supports algebraic and recursive data types, along with cross-location value passing; and mechanizes deadlock-freedom verification in Rocq. By extending type inference and the choreographic compilation framework, λ_QC guarantees that compiled node-local programs satisfy communication safety and deadlock freedom. The contributions include: (i) the first type-theoretic integration of location-set polymorphism and first-class process names; (ii) a verified compilation pipeline ensuring end-to-end correctness; and (iii) a practical, strongly typed foundation for reliable distributed coroutine programming.

Technology Category

Application Category

📝 Abstract
Choreographic programming is a promising new paradigm for programming concurrent systems where a developer writes a single centralized program that compiles to individual programs for each node. Existing choreographic languages, however, lack critical features integral to modern systems, like the ability of one node to dynamically compute who should perform a computation and send that decision to others. This work addresses this gap with $lambda_{QC}$, the first typed choreographic language with emph{first class process names} and polymorphism over both types and (sets of) locations. $lambda_{QC}$ also improves expressive power over previous work by supporting algebraic and recursive data types as well as multiply-located values. We formalize and mechanically verify our results in Rocq, including the standard choreographic guarantee of deadlock freedom.
Problem

Research questions and friction points this paper is trying to address.

Enables dynamic computation of process roles
Introduces polymorphism over types and locations
Supports algebraic and recursive data types
Innovation

Methods, ideas, or system contributions that make the work stand out.

First-class process names in choreography
Polymorphism over types and locations
Algebraic and recursive data types support
🔎 Similar Papers
No similar papers found.