Choral: Object-Oriented Choreographic Programming
summary
Choral is an object‑oriented choreographic language plus compiler that generates per-role Java libraries from choreographies expressed as classes, with a novel type system that expresses data location across roles. The compiler enforces choreography compliance, communication safety and deadlock freedom and produces interoperable pure‑Java endpoints; examples include a replicated cell and a refactoring of a Java microblog into microservices. Evaluations report code‑size improvements roughly 1.55–4× smaller codebase and the first release ships in 2020.
AI-written summary · about
chapters (9)
- 0:00Choreographic programming intro
- 2:32From specs to compiled code
- 4:42Object orientation meets choreography
- 6:05Designing Coral’s comms primitives
- 9:37Replicated cell example
- 11:24Evaluating Coral with real protocols
- 12:52Interoperability and future work
- 13:56Q&A: Channel interference & errors
- 17:24Q&A: Modularity & comms abstraction
related talks
19mChorCaml: Functional Choreographic Programming in OCaml
30mHasChor: Functional Choreographic Programming for All
36mKlor: Choreographic Programming in Clojure
20mEfficient, Portable, Census-Polymorphic Choreographic Programming
22mTowards Lightweight and Efficient Choreographic Cloud Services
25mRelax! The Semilenient Core of Choreographic Programming (Functional Pearl)
11mChoreographic Quick Changes: First-Class Location (Set) Polymorphism
25mFinding Harmony in Distributed Systems: Choreography vs Orchestration in Software Dev
