Irving Street Functionality

This is supposed to be a blog.

recent posts
posted 25 Mar, 2025

Choreographic Programming part 2: The MultiChor paper

Regardless of whether I ever get around to “summarizing the status quo of CP”, I’m pleased to announce that I’ll be presenting our recent work at PLDI in Seoul in June.

Our paper Efficient, Portable, Census-Polymorphic Choreographic Programming has been accepted into PLDI25!
This paper combines some of my earliest work on CP (the 𐤄λsmall language, now re-named λC), my own Haskell library MultiChor, and Rust and TypeScript libraries by Shun Kashiwa that have been upgraded to be basically feature-equivalent with MultiChor. Based on presentations at last year’s PLID, I think it’s somewhat likely that the basic paradigm used by MultiChor is going to be the version of CP that sees real industry use, and MultiChor is ready for use in the wild, except that it’s missing error-handling features.

While we desperately need good ways to talk about error handling in a choreographic setting, there’s also room for improvement on the theory side. My work in the past month has been to further reduce the complexity of the core mechanics of MultiChor, to distinguish what’s fundamental to CP from emergent development patterns.

In the mean time, read the paper and I hope to see you in Seoul!