Efficient, Portable, Census-Polymorphic Choreographic Programming
Mako Bates, Shun Kashiwa, Syed Jafri, Gan Shen, Lindsey Kuper, Joseph P. Near
Abstract
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 census polymorphism, a technique for abstracting over the number of participants in a choreography. Third, we introduce a design pattern for library-level CP in host languages without support for monads. We demonstrate these contributions via implementations in Haskell, Rust, and TypeScript.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext a37f366c-50e3-4c44-9aa2-6bd717d82ed2Cited by top-tier papers1
Ask how each one uses itBuilds on3
- Practical Secure Aggregation for Privacy-Preserving Machine LearningKallista A. Bonawitz, Vladimir Ivanov, Ben Kreuter, Antonio Marcedone et al.CCS 2017 · 3,936 citations
- Pirouette: higher-order typed functional choreographiesAndrew K. Hirsch, Deepak GargPOPL 2022 · 31 citations
- Scalable Multiparty GarblingGabrielle Beck, Aarushi Goel, Aditya Hegde, Abhishek Jain et al.CCS 2023 · 11 citations
Related papers
- Multiparty motion coordination: from choreographies to robotics programsRupak Majumdar, Nobuko Yoshida, Damien ZuffereyOOPSLA 2020 · 14 citations
- Type-Safe Dynamic Placement with First-Class Placed ValuesGeorge Zakhour, Pascal Weisenburger, Guido SalvaneschiOOPSLA 2023 · 2 citations
- Veracity: declarative multicore programming with commutativityAdam Chen, Parisa Fathololumi, Eric Koskinen, Jared PincusOOPSLA 2022 · 2 citations
- Model Checking Distributed Protocols in MustConstantin Enea, Dimitra Giannakopoulou, Michalis Kokologiannakis, Rupak MajumdarOOPSLA 2024 · 5 citations
- Yield Not Thy CoreAchilles Benetopoulos, Peter Alvaro, Andi Quinn, Robert SouléEuroSys 2026
