{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,19]],"date-time":"2026-05-19T07:16:33Z","timestamp":1779174993121,"version":"3.51.4"},"reference-count":64,"publisher":"Association for Computing Machinery (ACM)","issue":"OOPSLA1","license":[{"start":{"date-parts":[[2025,4,9]],"date-time":"2025-04-09T00:00:00Z","timestamp":1744156800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["#2220408"],"award-info":[{"award-number":["#2220408"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2025,4,9]]},"abstract":"<jats:p>There are many different probabilistic programming languages that are    specialized to specific kinds of probabilistic programs. From a usability and    scalability perspective, this is undesirable: today, probabilistic programmers    are forced up-front to decide which language they want to use and cannot    mix-and-match different languages for handling heterogeneous programs.    To rectify this, we seek a foundation for sound interoperability for    probabilistic programming languages: just as today\u2019s Python programmers can    resort to low-level C programming for performance, we argue that probabilistic    programmers should be able to freely mix different languages for meeting the    demands of heterogeneous probabilistic programming environments. As a first    step towards this goal, we introduce MultiPPL, a probabilistic    multi-language that enables programmers to interoperate between two different    probabilistic programming languages: one that leverages a high-performance    exact discrete inference strategy, and one that uses approximate importance    sampling. We give a syntax and semantics for MultiPPL, prove soundness    of its inference algorithm, and provide empirical evidence that it enables    programmers to perform inference on complex heterogeneous probabilistic    programs and flexibly exploits the strengths and weaknesses of two languages    simultaneously.<\/jats:p>","DOI":"10.1145\/3720482","type":"journal-article","created":{"date-parts":[[2025,4,9]],"date-time":"2025-04-09T13:48:26Z","timestamp":1744206506000},"page":"1239-1266","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Multi-Language Probabilistic Programming"],"prefix":"10.1145","volume":"9","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-0935-1010","authenticated-orcid":false,"given":"Sam","family":"Stites","sequence":"first","affiliation":[{"name":"Northeastern University, Boston, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2130-5092","authenticated-orcid":false,"given":"John M.","family":"Li","sequence":"additional","affiliation":[{"name":"Northeastern University, Boston, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8190-5412","authenticated-orcid":false,"given":"Steven","family":"Holtzen","sequence":"additional","affiliation":[{"name":"Northeastern University, Boston, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2025,4,9]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-48650-0_19"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/3563347"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.cognition.2009.07.005"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/3295500.3356180"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-93437-7_28"},{"key":"e_1_2_1_6_1","unstructured":"Nick Benton and Chung-Kil Hur. 2010. Step-Indexing: The Good the Bad and the Ugly. In Modelling Controlling and Reasoning about State Proceedings of Dagstuhl Seminar 10351 (modelling controlling and reasoning about state proceedings of dagstuhl seminar 10351 ed.). Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik Germany. https:\/\/www.microsoft.com\/en-us\/research\/publication\/step-indexing-the-good-the-bad-and-the-ugly\/"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1007421730016"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.5555\/3322706.3322734"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.18637\/jss.v076.i01"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.artint.2007.11.002"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-54434-1_14"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/3314221.3314642"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796818000011"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1613\/jair.989"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/382780.382785"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1017\/S1471068414000076"},{"key":"e_1_2_1_17_1","first-page":"3327898","article-title":"Approximate Knowledge Compilation by Online Collapsed Importance Sampling","volume":"5555","author":"Friedman Tal","year":"2018","unstructured":"Tal Friedman and Guy Van den Broeck. 2018. Approximate Knowledge Compilation by Online Collapsed Importance Sampling. In Advances in Neural Information Processing Systems. 31, Curran Associates, Inc., 15. https:\/\/dl.acm.org\/doi\/10.5555\/3327757.3327898","journal-title":"Advances in Neural Information Processing Systems. 31, Curran Associates, Inc., 15. https:\/\/dl.acm.org\/doi\/10."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/3296979.3192400"},{"key":"e_1_2_1_19_1","first-page":"62","article-title":"PSI","volume":"9779","author":"Gehr Timon","year":"2016","unstructured":"Timon Gehr, Sasa Misailovic, and Martin Vechev. 2016. PSI: Exact Symbolic Inference for Probabilistic Programs. Proc. of ESOP\/ETAPS, 9779 (2016), 62\u201383. isbn:9783319415277 issn:16113349 https:\/\/doi.org\/10\/gmq8ks","journal-title":"Exact Symbolic Inference for Probabilistic Programs. Proc. of ESOP\/ETAPS"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0092872"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3490421"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/3622823"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/3428208"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","unstructured":"Christian Hopp. 2000. Analysis of an Equal-Cost Multi-Path Algorithm. https:\/\/doi.org\/10.17487\/RFC2992 10.17487\/RFC2992","DOI":"10.17487\/RFC2992"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/JSAC.2011.111002"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/3704860"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/3591226"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01806111"},{"key":"e_1_2_1_29_1","volume-title":"Venture: A Higher-Order Probabilistic Programming Platform with Programmable Inference. arXiv, March, 78\u201378. arxiv:1404.0099.","author":"Mansinghka Vikash","year":"2014","unstructured":"Vikash Mansinghka, Daniel Selsam, and Yura Perov. 2014. Venture: A Higher-Order Probabilistic Programming Platform with Programmable Inference. arXiv, March, 78\u201378. arxiv:1404.0099."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796807006478"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1190215.1190220"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1287\/opre.6.1.96"},{"key":"e_1_2_1_33_1","volume-title":"Delayed Sampling and Automatic Rao-Blackwellization of Probabilistic Programs. In International Conference on Artificial Intelligence and Statistics, AISTATS 2018","volume":"1046","author":"Murray Lawrence M.","year":"2018","unstructured":"Lawrence M. Murray, Daniel Lund\u00e9n, Jan Kudlicka, David Broman, and Thomas B. Sch\u00f6n. 2018. Delayed Sampling and Automatic Rao-Blackwellization of Probabilistic Programs. In International Conference on Artificial Intelligence and Statistics, AISTATS 2018, 9-11 April 2018, Playa Blanca, Lanzarote, Canary Islands, Spain (Proceedings of Machine Learning Research, Vol. 84). PMLR, 1037\u20131046. http:\/\/proceedings.mlr.press\/v84\/murray18a.html"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1201\/b10905-6"},{"key":"e_1_2_1_35_1","volume-title":"A Semantic Foundation for Sound Gradual Typing. Ph. D. Dissertation","author":"New Max Stewart","unstructured":"Max Stewart New. 2020. A Semantic Foundation for Sound Gradual Typing. Ph. D. Dissertation. Northeastern University. USA. https:\/\/dl.acm.org\/doi\/book\/10.5555\/AAI28263083"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/2951913.2951941"},{"key":"e_1_2_1_37_1","volume-title":"Tensor Variable Elimination for Plated Factor Graphs. In Proceedings of the 36th International Conference on Machine Learning (Proceedings of Machine Learning Research","volume":"4880","author":"Obermeyer Fritz","year":"2019","unstructured":"Fritz Obermeyer, Eli Bingham, Martin Jankowiak, Neeraj Pradhan, Justin Chiu, Alexander Rush, and Noah Goodman. 2019-06-09\/2019-06-15. Tensor Variable Elimination for Plated Factor Graphs. In Proceedings of the 36th International Conference on Machine Learning (Proceedings of Machine Learning Research, Vol. 97). 4871\u20134880. https:\/\/proceedings.mlr.press\/v97\/obermeyer19a.html"},{"key":"e_1_2_1_38_1","unstructured":"A. Onisko Marek J. Druzdzel H. Wasyluk and A. Onisko. 2005. A Probabilistic Causal Model for Diagnosis of Liver Disorders."},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/3519939.3523703"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.17760\/D20467221"},{"key":"e_1_2_1_41_1","volume-title":"Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference","author":"Pearl Judea","unstructured":"Judea Pearl. 1988. Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA. isbn:0-934613-73-7"},{"key":"e_1_2_1_42_1","volume-title":"Proceedings of the 35th International Conference on Machine Learning, ICML 2018, Stockholmsm\u00e4ssan","author":"Rainforth Tom","year":"2018","unstructured":"Tom Rainforth, Robert Cornish, Hongseok Yang, and Andrew Warrington. 2018. On Nesting Monte Carlo Estimators. In Proceedings of the 35th International Conference on Machine Learning, ICML 2018, Stockholmsm\u00e4ssan, Stockholm, Sweden, July 10-15, 2018 (Proceedings of Machine Learning Research, Vol. 80). PMLR, 4264\u20134273. issn:2640-3498 http:\/\/proceedings.mlr.press\/v80\/rainforth18a.html"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/503272.503288"},{"key":"e_1_2_1_44_1","volume-title":"Monte Carlo statistical methods. 2","author":"Robert Christian P","unstructured":"Christian P Robert, George Casella, and George Casella. 1999. Monte Carlo statistical methods. 2, Springer."},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/3571220"},{"key":"e_1_2_1_46_1","volume-title":"Proceedings of the 20th National Conference on Artificial Intelligence -","volume":"1","author":"Sang Tian","year":"2005","unstructured":"Tian Sang, Paul Bearne, and Henry Kautz. 2005. Performing Bayesian Inference by Weighted Model Counting. In Proceedings of the 20th National Conference on Artificial Intelligence - Volume 1 (AAAI\u201905). AAAI Press, Pittsburgh, Pennsylvania. 475\u2013481. isbn:978-1-57735-236-5 https:\/\/dl.acm.org\/doi\/10.5555\/1619332.1619409"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-89366-2_8"},{"key":"e_1_2_1_48_1","unstructured":"Adam Micha\u0142 \u015acibior. 2018. Formally Justified and Modular Bayesian Inference for Probabilistic Programs. Ph. D. Dissertation. Apollo - University of Cambridge Repository."},{"key":"e_1_2_1_49_1","volume-title":"Proceedings of the Scheme and Functional Programming Workshop.","author":"Siek Jeremy G","year":"2006","unstructured":"Jeremy G Siek and Walid Taha. 2006. Gradual Typing for Functional Languages. In Proceedings of the Scheme and Functional Programming Workshop."},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.CALCO.2017.1"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2018.03.028"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/800017.800513"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/3314221.3314639"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-54434-1_32"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/2933575.2935313"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.5281\/zenodo.14593465"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","unstructured":"Sam Stites John M. Li and Steven Holtzen. 2025. Multi-Language Probabilistic Programming. https:\/\/doi.org\/10.48550\/arXiv.2502.19538 arxiv:2502.19538. 10.48550\/arXiv.2502.19538","DOI":"10.48550\/arXiv.2502.19538"},{"key":"e_1_2_1_58_1","volume-title":"Proceedings of the Thirty-Seventh Conference on Uncertainty in Artificial Intelligence. PMLR, 1056\u20131066","author":"Stites Sam","unstructured":"Sam Stites, Heiko Zimmermann, Hao Wu, Eli Sennesh, and Jan-Willem van de Meent. 2021. Learning Proposals for Probabilistic Programs with Inference Combinators. In Proceedings of the Thirty-Seventh Conference on Uncertainty in Artificial Intelligence. PMLR, 1056\u20131066. issn:2640-3498 https:\/\/proceedings.mlr.press\/v161\/stites21a.html"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.cogsys.2013.07.003"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/1328438.1328486"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993514"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-11957-6_29"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/3586036"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/3498677"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3720482","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3720482","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T17:08:19Z","timestamp":1760029699000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3720482"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,4,9]]},"references-count":64,"journal-issue":{"issue":"OOPSLA1","published-print":{"date-parts":[[2025,4,9]]}},"alternative-id":["10.1145\/3720482"],"URL":"https:\/\/doi.org\/10.1145\/3720482","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,4,9]]},"assertion":[{"value":"2024-10-15","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-02-18","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-04-09","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}