paper

Choreographies as Macros

arXiv:2505.20845 · doi:10.4204/EPTCS.420.2

Abstract

Concurrent programming often entails meticulous pairing of sends and receives between participants to avoid deadlock. Choreographic programming alleviates this burden by specifying the system as a single program. However, there are more applications than implementations of choreographies, and developing new implementations takes a lot of time and effort. Our work uses Racket to expedite building a new choreographic language called Choret. Racket has a powerful macro system which allows Choret to reuse much of its infrastructure for greater functionality and correctness.

In Proceedings PLACES 2025, arXiv:2505.19078

Choreographies as Macros · wovepaper