Choret is an untyped choreographic programming language implemented as a DSL in Racket using macros. It is based on Pirouette, a functional choreographic programming language designed by Andrew K. Hirsch (my research advisor) and Deepak Garg. Their paper, Pirouette: Higher-Order Typed Functional Choreographies, can be found here: https://dl.acm.org/doi/10.1145/3498684.
The documentation for Choret can be found here: https://foundations-of-decentralization-group.github.io/choret/
- "Introduction to Choreographies" by Fabrizio Montesi. This book is an excellent starting point for those who wish to learn about the theory of Choreographies.
- "Pirouette: Higher-Order Typed Functional Choreographies" by Andrew K. Hirsch and Deepak Garg (https://dl.acm.org/doi/10.1145/3498684)
- The Official Racket Documentation (https://docs.racket-lang.org/)
- "Beautiful Racket: an introduction to language-oriented programming using Racket" by Matthew Butterick (https://beautifulracket.com/)
- "Fear of Macros" by Greg Hendershott (https://www.greghendershott.com/fear-of-macros/)
- Alexis King's Blog (https://lexi-lambda.github.io/)