/ Ideas / Implementing a higher-order choreographic language

This is an idea proposed in 2024 as a Cambridge Computer Science Part II project, and has been completed by Rokas Urbonas. It was supervised by Dmirtij Szamozvancev and Anil Madhavapeddy as part of my OCaml Labs project.

Summary

This project aims to implement a functional choreographic language inspired by the Pirouette calculus. This language was meant to make the notoriously difficult process of implementing distributed algorithms easier, while offering a practical execution model for multi-participant programs. Additionally, it aimed to match the expressiveness and performance of similar existing solutions.

The project completed very successfully, and resulted in ChorCaml, an embedded DSL for choreographic programming in OCaml. The language facilitates the implementation of distributed algorithms, while offering a clear syntax and safety via the type system. ChorCaml also improves upon existing alternatives in certain common use cases, both in terms of program conciseness and performance. The practicality of the DSL was verified by successfully implementing well-known distributed algortihms such as Diffie-Hellman key exchange and concurrent Karatsuba fast integer multiplication.

Rokas Urbonas subsequently submitted a proposal to the OCaml Workshop about his work, and will be presenting it at the 2014 edition of the OCaml Workshop. Stay tuned for the video of his talk after ICFP concludes, and here is PDF of his work.

Related Ideas