{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,16]],"date-time":"2026-07-16T11:03:29Z","timestamp":1784199809649,"version":"3.55.0"},"reference-count":37,"publisher":"Association for Computing Machinery (ACM)","issue":"PLDI","license":[{"start":{"date-parts":[[2025,6,13]],"date-time":"2025-06-13T00:00:00Z","timestamp":1749772800000},"content-version":"vor","delay-in-days":3,"URL":"http:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["2238442 and 2145367"],"award-info":[{"award-number":["2238442 and 2145367"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"name":"Stellar Development Foundation","award":["Gift"],"award-info":[{"award-number":["Gift"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2025,6,10]]},"abstract":"<jats:p>\n                    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. Library-level CP implementations, like HasChor, integrate well with mainstream programming languages but have several limitations: Their conditionals require extra communication; they require specific host-language features (\n                    <jats:italic toggle=\"yes\">e.g<\/jats:italic>\n                    ., monads); and they lack support for programming patterns that are essential for implementing realistic distributed applications.\n                  <\/jats:p>\n                  <jats:p>\n                    We make three contributions to library-level CP to specifically address these challenges. First, we propose and formalize\n                    <jats:italic toggle=\"yes\">conclaves<\/jats:italic>\n                    and multiply-located values, which enable efficient conditionals in library-level CP without redundant communication. Second, we propose\n                    <jats:italic toggle=\"yes\">census polymorphism,<\/jats:italic>\n                    a technique for abstracting over the number of participants in a choreography. Third, we introduce a design pattern for library-level CP in host languages without support for monads. We demonstrate these contributions via implementations in Haskell, Rust, and TypeScript.\n                  <\/jats:p>","DOI":"10.1145\/3729296","type":"journal-article","created":{"date-parts":[[2025,6,13]],"date-time":"2025-06-13T16:02:27Z","timestamp":1749830547000},"page":"1143-1166","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["Efficient, Portable, Census-Polymorphic Choreographic Programming"],"prefix":"10.1145","volume":"9","author":[{"ORCID":"https:\/\/orcid.org\/0009-0001-9933-1728","authenticated-orcid":false,"given":"Mako","family":"Bates","sequence":"first","affiliation":[{"name":"University of Vermont, Burlington, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0001-3665-0182","authenticated-orcid":false,"given":"Shun","family":"Kashiwa","sequence":"additional","affiliation":[{"name":"University of California, San Diego, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0009-4372-4715","authenticated-orcid":false,"given":"Syed","family":"Jafri","sequence":"additional","affiliation":[{"name":"University of Vermont, Burlington, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0006-0947-9531","authenticated-orcid":false,"given":"Gan","family":"Shen","sequence":"additional","affiliation":[{"name":"University of California, Santa Cruz, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1374-7715","authenticated-orcid":false,"given":"Lindsey","family":"Kuper","sequence":"additional","affiliation":[{"name":"University of California, Santa Cruz, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3203-3742","authenticated-orcid":false,"given":"Joseph P.","family":"Near","sequence":"additional","affiliation":[{"name":"University of Vermont, Burlington, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2025,6,13]]},"reference":[{"key":"e_1_3_2_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/2103656.2103677"},{"key":"e_1_3_2_3_2","doi-asserted-by":"publisher","unstructured":"Mako Bates Shun Kashiwa Syed Jafri Gan Shen Lindsey Kuper and Joseph Near. 2025. Efficient portable census-polymorphic choreographic programming. doi:10.5281\/zenodo.15048718 Archival version.","DOI":"10.5281\/zenodo.15048718"},{"key":"e_1_3_2_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/3576915.3623132"},{"key":"e_1_3_2_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/3133956.3133982"},{"key":"e_1_3_2_6_2","unstructured":"Marco Carbone Lu\u00eds Cruz-Filipe Fabrizio Montesi and Agata Murawska. 2018. Multiparty Classical Choreographies. CoRR abs\/1808.05088 (2018). arXiv:1808.05088 http:\/\/arxiv.org\/abs\/1808.05088"},{"key":"e_1_3_2_7_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-71316-6_2"},{"key":"e_1_3_2_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/2220365.2220367"},{"key":"e_1_3_2_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/2429069.2429101"},{"key":"e_1_3_2_10_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-21461-5_1"},{"key":"e_1_3_2_11_2","unstructured":"Kaushik Chakraborty. 2024. UniChorn. https:\/\/share.unison-lang.org\/@kaychaks\/unichorn\/"},{"key":"e_1_3_2_12_2","first-page":"259","article-title":"Prio: Private, robust, and scalable computation of aggregate statistics","author":"Corrigan-Gibbs Henry","year":"2017","unstructured":"Henry Corrigan-Gibbs and Dan Boneh. 2017. Prio: Private, robust, and scalable computation of aggregate statistics. In 14th USENIX symposium on networked systems design and implementation (NSDI 17). 259\u2013282. arXiv:1703.06255","journal-title":"14th USENIX symposium on networked systems design and implementation (NSDI 17)"},{"key":"e_1_3_2_13_2","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2023.7"},{"key":"e_1_3_2_14_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-031-17715-6_15"},{"key":"e_1_3_2_15_2","doi-asserted-by":"publisher","DOI":"10.1561\/3300000019"},{"key":"e_1_3_2_16_2","doi-asserted-by":"publisher","DOI":"10.1145\/3632398"},{"key":"e_1_3_2_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/28395.28420"},{"key":"e_1_3_2_18_2","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796823000114"},{"key":"e_1_3_2_19_2","unstructured":"Eva Graversen Fabrizio Montesi and Marco Peressotti. 2025. A Promising Future: Omission Failures in Choreographic Programming. arXiv:1712.05465 [cs.PL] https:\/\/arxiv.org\/abs\/1712.05465"},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/3498684"},{"key":"e_1_3_2_21_2","doi-asserted-by":"publisher","DOI":"10.1145\/1328438.1328472"},{"key":"e_1_3_2_22_2","volume-title":"A Predicate Transformer for Choreographies (Full Version). Number 01 in OUNL-CS (Technical Reports)","author":"Jongmans Sung-Shik","year":"2022","unstructured":"Sung-Shik Jongmans and Petra van den Bos. 2022. A Predicate Transformer for Choreographies (Full Version). Number 01 in OUNL-CS (Technical Reports). Open Universiteit Nederland."},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.56553\/popets-2023-0086"},{"key":"e_1_3_2_24_2","unstructured":"Lovro Lugovi\u0107 and Sung-Shik Jongmans. 2024. Klor: Choreographies in Clojure. https:\/\/github.com\/lovrosdu\/klor"},{"key":"e_1_3_2_25_2","unstructured":"Fabrizio Montesi. 2014. Ph.D. Dissertation. Denmark."},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","DOI":"10.1017\/9781108981491"},{"key":"e_1_3_2_27_2","first-page":"448","article-title":"Efficient oblivious transfer protocols","volume":"1","author":"Naor Moni","year":"2001","unstructured":"Moni Naor and Benny Pinkas. 2001. Efficient oblivious transfer protocols. In SODA, Vol. 1. 448\u2013457.","journal-title":"SODA"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/3242744.3242755"},{"key":"e_1_3_2_29_2","unstructured":"Matt Noonan. 2019. gdp: Reason about invariants and preconditions with ghosts of departed proofs. https:\/\/hackage.haskell.org\/package\/gdp-0.0.3.0"},{"key":"e_1_3_2_30_2","doi-asserted-by":"publisher","DOI":"10.1023\/A:1023064908962"},{"key":"e_1_3_2_31_2","doi-asserted-by":"publisher","DOI":"10.2168\/lmcs-9(4:23)2013"},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2014.48"},{"key":"e_1_3_2_33_2","doi-asserted-by":"publisher","DOI":"10.1145\/3607849"},{"key":"e_1_3_2_34_2","unstructured":"Gan Shen and Lindsey Kuper. 2024. Toward Verified Library-Level Choreographic Programming with Algebraic Effects. arXiv:2407.06509 [cs.PL] https:\/\/arxiv.org\/abs\/2407.06509"},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.22152\/programming-journal.org\/2023\/7\/14"},{"key":"e_1_3_2_36_2","unstructured":"Ashton Wiersdorf and Ben Greenman. 2024. Chorex: Choreographic Programming in Elixir. https:\/\/github.com\/utahplt\/chorex"},{"key":"e_1_3_2_37_2","unstructured":"The World Wide Web Consortium. 2006. Web Services Choreography Description Language: Primer. https:\/\/www.w3.org\/TR\/ws-cdl-10-primer\/"},{"key":"e_1_3_2_38_2","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2020.2994391"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3729296","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3729296","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,7,16]],"date-time":"2026-07-16T10:03:34Z","timestamp":1784196214000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3729296"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,6,10]]},"references-count":37,"journal-issue":{"issue":"PLDI","published-print":{"date-parts":[[2025,6,10]]}},"alternative-id":["10.1145\/3729296"],"URL":"https:\/\/doi.org\/10.1145\/3729296","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,6,10]]},"assertion":[{"value":"2024-11-15","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-03-06","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-06-13","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}