ChoRus: Library-Level Choreographic Programming in Rust
summary
ChoRus is a Rust cargo library that implements choreographic programming by compiling a global choreography to node code using endpoint projection via dependency injection. It runs demos (a buyer–seller book purchase and a Tic‑Tac‑Toe with Minimax AI) using a built‑in HTTP transport and shows the endpoint programs execute as expected, but it assumes no communication errors and warns about deadlocks if unsafe shared state is used. The library enforces type‑level location sets and adds a choreographic enclave operator; benchmarking and multi‑language ports remain future work.
AI-written summary · about
chapters (19)
- 0:00Welcome
- 0:21What is ChoRus
- 1:04Choreographic programming
- 2:09Porting HCore challenges
- 2:51ChoRus as Rust library
- 3:32Writing Rust choreography
- 6:21Bookstore protocol
- 7:29Broadcast decisions
- 8:11Choreography execution
- 8:56Live bookstore demo
- 9:38Tic-Tac-Toe example
- 10:43Endpoint projection
- 11:47Dependency injection
- 13:35Type-safe APIs
- 14:40Location sets checks
- 15:00Choreographic Enclave
- 16:05Future research
- 17:07Conclusion
- 17:27Q&A
related talks
23mCreative coding or serious engineering: why not both?
11mEasy analysis of Rust code with Charon
56mReady for Rust
30mBridging robotics and systems programming:Why Copper is a game changer
35mFunctional Reactive Rust
42mCreating Operators with Rust
39mReal-Time Rust in Robotics
33mBuilding a pair-programming app in public with Rust
