Efficient, Portable, Census-Polymorphic Choreographic Programming
Not on the map. Why?
Abstract (arXiv)
Choreographic programming (CP) is a paradigm for implementing distributed systems that uses a single global program to define the actions and interactions of all participants. Library-level CP implementations, like HasChor, integrate well with mainstream programming languages but have several limitations: Their conditionals require extra communication; they require specific host-language features (e.g., monads); and they lack support for programming patterns that are essential for implementing realistic distributed applications. We make three contributions to library-level CP to specifically address these challenges. First, we propose and formalize conclaves and multiply-located values, which enable efficient conditionals in library-level CP without redundant communication. Second, we propose end-point projection as dependency injection, a design pattern that enables library-level CP in host languages without support for monads. Third, we propose census polymorphism, a technique for abstracting over the number of participants in a choreography. We demonstrate these contributions via implementations in Haskell, Rust, and TypeScript.
Key facts. Cited by 2 papers in the map (data through 14 Oct 2026). First posted on arXiv 3 Dec 2024.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2026: 2.
2 papers.
- 2026Pact: A Choreographic Language for Agentic Ecosystemscited by 2
- 2026ETAS: An Effect-Typed Language for Agent Systemscited by 0
- 2026ETAS: An Effect-Typed Language for Agent Systems20 Jul 2026
- 2026Pact: A Choreographic Language for Agentic Ecosystems4 May 2026