ChorCaml: Functional Choreographic Programming in OCaml
summary
Claims a first practical OCaml choreographic DSL that compiles unified choreographies into per-role code via endpoint projection, implemented as an interpreted embedded DSL using the Freer monad and a TCP backend with LWT. Shows concrete examples: a buyer–seller book protocol and a three‑phase commit, with runtime location UIDs and located values, successful end‑to‑end TCP execution, and a local interpreter for debugging. Notes no live upgrade or versioning support: all participants must be recompiled from the same source.
AI-written summary · about
chapters (10)
- 0:00Introduction to ChorCaml
- 1:25Choreography in distributed systems
- 3:10Book seller protocol
- 5:06Endpoint projection
- 6:28Core Caml design
- 9:38Choreographic primitives
- 13:31Book seller in Core Caml
- 15:39Local and TCP execution
- 16:43Three-phase commit
- 17:57Q&A
related talks
36mKlor: Choreographic Programming in Clojure
30mHasChor: Functional Choreographic Programming for All
20mEfficient, Portable, Census-Polymorphic Choreographic Programming
20mChoral: Object-Oriented Choreographic Programming
22mTowards Lightweight and Efficient Choreographic Cloud Services
25mRelax! The Semilenient Core of Choreographic Programming (Functional Pearl)
20mPirouette: Higher-Order Typed Functional Choreographies
11mChoreographic Quick Changes: First-Class Location (Set) Polymorphism
