Choreographies as Macros
Programming Languages
2025-05-28 v1 Distributed, Parallel, and Cluster Computing
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.
Cite
@article{arxiv.2505.20845,
title = {Choreographies as Macros},
author = {Alexander Bohosian and Andrew K. Hirsch},
journal= {arXiv preprint arXiv:2505.20845},
year = {2025}
}
Comments
In Proceedings PLACES 2025, arXiv:2505.19078