Efficient, Portable, Census-Polymorphic Choreographic Programming
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.
Thu 19 JunDisplayed time zone: Seoul change
14:00 - 15:00 | Language DesignPLDI Research Papers at Cosmos, Violet & Tulip Chair(s): Chris Casinghino Jane Street | ||
14:00 20mTalk | Tree BorrowsDistinguished Paper PLDI Research Papers Neven Villani University of Grenoble Alpes - VERIMAG, Johannes Hostert ETH Zurich, Derek Dreyer MPI-SWS, Ralf Jung ETH Zurich Link to publication DOI | ||
14:20 20mTalk | Principal Type Inference under a Prefix: A Fresh Look at Static OverloadingDistinguished Paper PLDI Research Papers DOI Pre-print | ||
14:40 20mTalk | Efficient, Portable, Census-Polymorphic Choreographic Programming PLDI Research Papers Mako P. Bates University of Vermont, Shun Kashiwa University of California at San Diego, Syed Jafri University of Vermont, Gan Shen University of California at Santa Cruz, Lindsey Kuper University of California at Santa Cruz, Joseph P. Near University of Vermont DOI Pre-print |