A mainstream choreographic programming language.
Choral is a language for the programming of choreographies. A choreography is a multiparty protocol that defines how some roles (the proverbial Alice, Bob, etc.) should coordinate with each other to do something together. At the press of a button, the Choral compiler translates a choreography into a library for each role. Choral makes sure that the compiled libraries are compliant implementations of their source choreography, making developers more productive, and preventing them from writing incompatible implementations of communications.
Choral is currently interoperable with Java and it is compatible with Java in three ways:
@article{abs-2005-09520, author = {Giallorenzo, Saverio and Montesi, Fabrizio and Peressotti, Marco}, title = {Choreographies as Objects}, journal = {CoRR}, volume = {abs/22005.09520}, year = {2020}, url = {http://arxiv.org/abs/2005.09520}, archiveprefix = {arXiv}, eprint = {2005.09520} }