Efficient, Portable, Census-Polymorphic Choreographic Programming
This program is tentative and subject to change.
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.
This program is tentative and subject to change.
Thu 19 JunDisplayed time zone: Seoul change
14:00 - 15:00 | |||
14:00 20mTalk | Tree Borrows 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 Overloading 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 |