A New Architecture for Choreographic Programming Languages

Choreographic programming (CP) is a paradigm for implementing distributed systems that uses a single global program to define the actions and interactions of all participants. One characteristic of CP is that values are "located", i.e. associated or annotated with parties who own them, and non-owners of a located value cannot use it. Existing CP systems are generally either select-&-merge systems, which have a designated "select" operator for communicating knowledge of choice, or use alternative strategies that are known to be less efficient. We make four contributions to the ongoing development of CP systems. First, we propose and formalize conclaves and multiply-located values; this combination of features enables efficient conditionals without redundant communication or a specialized operator. Second, we implement this "conclaves-&-MLVs" paradigm in Haskell as the MultiChor library. Third, we propose census polymorphism, a technique for abstracting over the number of participants in a choreography. Forth, we demonstrate the viability of a CP system MiniChor that uses only conclaves and has no designated syntax for located values. MultiChor is available to end-users now, and contains solutions to key engineering problems. Based on anecdotal experiences using it and subsequent work on the theory-oriented fork MiniChor, we outline near-term avenues for future work on CP systems for industry use.

Publication Details

Journal
ScholarWorks -A service of University of Vermont Libraries (University of Vermont)
Published
2025-01-01
Primary Topic
Geochemistry and Geologic Mapping
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

A New Architecture for Choreographic Programming Languages

ScholarWorks -A service of University of Vermont Libraries (University of Vermont)
Geochemistry and Geologic Mapping
article

A New Architecture for Choreographic Programming Languages

article en

Abstract

Choreographic programming (CP) is a paradigm for implementing distributed systems that uses a single global program to define the actions and interactions of all participants. One characteristic of CP is that values are "located", i.e. associated or annotated with parties who own them, and non-owners of a located value cannot use it. Existing CP systems are generally either select-&-merge systems, which have a designated "select" operator for communicating knowledge of choice, or use alternative strategies that are known to be less efficient. We make four contributions to the ongoing development of CP systems. First, we propose and formalize conclaves and multiply-located values; this combination of features enables efficient conditionals without redundant communication or a specialized operator. Second, we implement this "conclaves-&-MLVs" paradigm in Haskell as the MultiChor library. Third, we propose census polymorphism, a technique for abstracting over the number of participants in a choreography. Forth, we demonstrate the viability of a CP system MiniChor that uses only conclaves and has no designated syntax for located values. MultiChor is available to end-users now, and contains solutions to key engineering problems. Based on anecdotal experiences using it and subsequent work on the theory-oriented fork MiniChor, we outline near-term avenues for future work on CP systems for industry use.

ScholarWorks -A service of University of Vermont Libraries (University of Vermont)
Industry, innovation and infrastructure
Openalex Percentile: Top 71%
Geochemistry and Geologic Mapping
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

A New Architecture for Choreographic Programming Languages · ScholarWorks -A service of University of Vermont Libraries (University of Vermont) (2025) | TGRS Research Map | TGRS