{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,16]],"date-time":"2026-10-16T21:14:26Z","timestamp":1792185266705,"version":"4.4.0"},"publisher-location":"New York, NY, USA","reference-count":37,"publisher":"ACM","license":[{"start":{"date-parts":[[2019,6,22]],"date-time":"2019-06-22T00:00:00Z","timestamp":1561161600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2019,6,22]]},"DOI":"10.1145\/3315508.3329974","type":"proceedings-article","created":{"date-parts":[[2019,6,7]],"date-time":"2019-06-07T21:02:18Z","timestamp":1559941338000},"page":"20-28","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":19,"title":["HackPPL: a universal probabilistic programming language"],"prefix":"10.1145","author":[{"given":"Jessica","family":"Ai","sequence":"first","affiliation":[{"name":"Facebook, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Nimar S.","family":"Arora","sequence":"additional","affiliation":[{"name":"Facebook, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Ning","family":"Dong","sequence":"additional","affiliation":[{"name":"Facebook, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Beliz","family":"Gokkaya","sequence":"additional","affiliation":[{"name":"Facebook, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Thomas","family":"Jiang","sequence":"additional","affiliation":[{"name":"Facebook, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Anitha","family":"Kubendran","sequence":"additional","affiliation":[{"name":"Facebook, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Arun","family":"Kumar","sequence":"additional","affiliation":[{"name":"Facebook, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Michael","family":"Tingley","sequence":"additional","affiliation":[{"name":"Facebook, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Narjes","family":"Torabi","sequence":"additional","affiliation":[{"name":"Facebook, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2019,6,22]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jlamp.2014.02.001"},{"key":"e_1_3_2_1_2_1","volume-title":"Goodman","author":"Bingham Eli","year":"2018","unstructured":"Eli Bingham , Jonathan P. Chen , Martin Jankowiak , Fritz Obermeyer , Neeraj Pradhan , Theofanis Karaletsos , Rohit Singh , Paul Szerlip , Paul Horsfall , and Noah D . Goodman . 2018 . Pyro : Deep Universal Probabilistic Programming. arXiv e-prints, Article arXiv:1810.09538 (Oct 2018), arXiv:1810.09538 pages. arXiv:cs.LG\/1810.09538 Eli Bingham, Jonathan P. Chen, Martin Jankowiak, Fritz Obermeyer, Neeraj Pradhan, Theofanis Karaletsos, Rohit Singh, Paul Szerlip, Paul Horsfall, and Noah D. Goodman. 2018. Pyro: Deep Universal Probabilistic Programming. arXiv e-prints, Article arXiv:1810.09538 (Oct 2018), arXiv:1810.09538 pages. arXiv:cs.LG\/1810.09538"},{"key":"e_1_3_2_1_3_1","unstructured":"Michael Bolin. 2015. Building Nuclide a unified developer experience. https:\/\/code.fb.com\/developer-tools\/building-nuclide-a-unified-developer-experience\/ Accessed: 2019-03-16.  Michael Bolin. 2015. Building Nuclide a unified developer experience. https:\/\/code.fb.com\/developer-tools\/building-nuclide-a-unified-developer-experience\/ Accessed: 2019-03-16."},{"key":"e_1_3_2_1_4_1","unstructured":"Andrey Breslav and Roman Elizarov. 2018. Kotlin Coroutines. https:\/\/github.com\/Kotlin\/KEEP\/blob\/master\/proposals\/coroutines.md  Andrey Breslav and Roman Elizarov. 2018. Kotlin Coroutines. https:\/\/github.com\/Kotlin\/KEEP\/blob\/master\/proposals\/coroutines.md"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"crossref","unstructured":"Tamara Broderick Michael I Jordan Jim Pitman etal 2012. Beta processes stick-breaking and power laws. Bayesian analysis 7 2 (2012) 439-476.  Tamara Broderick Michael I Jordan Jim Pitman et al. 2012. Beta processes stick-breaking and power laws. Bayesian analysis 7 2 (2012) 439-476.","DOI":"10.1214\/12-BA715"},{"key":"e_1_3_2_1_6_1","volume-title":"Multilevel bayesian models of categorical data annotation. Unpublished manuscript 17, 122","author":"Carpenter Bob","year":"2008","unstructured":"Bob Carpenter . 2008. Multilevel bayesian models of categorical data annotation. Unpublished manuscript 17, 122 ( 2008 ), 45-50. Bob Carpenter. 2008. Multilevel bayesian models of categorical data annotation. Unpublished manuscript 17, 122 (2008), 45-50."},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.18637\/jss.v076.i01"},{"key":"e_1_3_2_1_8_1","unstructured":"Torch Contributors. 2018. PyTorch C++ API. https:\/\/pytorch.org\/cppdocs\/ Accessed: 2019-03-16.  Torch Contributors. 2018. PyTorch C++ API. https:\/\/pytorch.org\/cppdocs\/ Accessed: 2019-03-16."},{"key":"e_1_3_2_1_9_1","volume-title":"Maximum likelihood estimation of observer error-rates using the EM algorithm. Applied statistics","author":"Dawid Alexander Philip","year":"1979","unstructured":"Alexander Philip Dawid and AllanMSkene. 1979. Maximum likelihood estimation of observer error-rates using the EM algorithm. Applied statistics ( 1979 ), 20-28. Alexander Philip Dawid and AllanMSkene. 1979. Maximum likelihood estimation of observer error-rates using the EM algorithm. Applied statistics (1979), 20-28."},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"crossref","unstructured":"Dino Distefano Manuel Fahndrich Francesco Logozzo and Peter W. O'Hearn. 2019 (to appear). Scaling Static Analyses at Facebook. Commun. ACM (2019 (to appear)).  Dino Distefano Manuel Fahndrich Francesco Logozzo and Peter W. O'Hearn. 2019 (to appear). Scaling Static Analyses at Facebook. Commun. ACM (2019 (to appear)).","DOI":"10.1145\/3338112"},{"key":"e_1_3_2_1_11_1","volume-title":"On sequential Monte Carlo sampling methods for Bayesian filtering. Statistics and Computing 10, 3 (01","author":"Doucet Arnaud","year":"2000","unstructured":"Arnaud Doucet , Simon Godsill , and Christophe Andrieu . 2000. On sequential Monte Carlo sampling methods for Bayesian filtering. Statistics and Computing 10, 3 (01 Jul 2000 ), 197-208. Arnaud Doucet, Simon Godsill, and Christophe Andrieu. 2000. On sequential Monte Carlo sampling methods for Bayesian filtering. Statistics and Computing 10, 3 (01 Jul 2000), 197-208."},{"key":"e_1_3_2_1_12_1","volume-title":"Drugan and Dirk Thierens","author":"Madalina","year":"2003","unstructured":"Madalina M. Drugan and Dirk Thierens . 2003 . Evolutionary Markov Chain Monte Carlo. In Artificial Evolution . Madalina M. Drugan and Dirk Thierens. 2003. Evolutionary Markov Chain Monte Carlo. In Artificial Evolution."},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"crossref","unstructured":"Andrew Gelman Jessica Hwang and Aki Vehtari. [n.d.]. Understanding predictive information criteria for Bayesian models. Statistics and Computing 24 ([n. d.]) 997-1016.   Andrew Gelman Jessica Hwang and Aki Vehtari. [n.d.]. Understanding predictive information criteria for Bayesian models. Statistics and Computing 24 ([n. d.]) 997-1016.","DOI":"10.1007\/s11222-013-9416-2"},{"key":"e_1_3_2_1_14_1","volume-title":"Posterior predictive assessment of model fitness via realized discrepancies. Statistica sinica","author":"Gelman Andrew","year":"1996","unstructured":"Andrew Gelman , Xiao-Li Meng , and Hal Stern . 1996. Posterior predictive assessment of model fitness via realized discrepancies. Statistica sinica ( 1996 ), 733-760. Andrew Gelman, Xiao-Li Meng, and Hal Stern. 1996. Posterior predictive assessment of model fitness via realized discrepancies. Statistica sinica (1996), 733-760."},{"key":"e_1_3_2_1_15_1","first-page":"169","article-title":"A Language and Program for Complex Bayesian Modelling. Journal of the Royal Statistical Society","volume":"43","author":"Gilks Walter R.","year":"1994","unstructured":"Walter R. Gilks , Antonia Thomas , and David J. Spiegelhalter . 1994 . A Language and Program for Complex Bayesian Modelling. Journal of the Royal Statistical Society . Series D (The Statistician) 43 , 1 (1994), 169 - 177 . http:\/\/www.jstor.org\/stable\/2348941 Walter R. Gilks, Antonia Thomas, and David J. Spiegelhalter. 1994. A Language and Program for Complex Bayesian Modelling. Journal of the Royal Statistical Society. Series D (The Statistician) 43, 1 (1994), 169-177. http:\/\/www.jstor.org\/stable\/2348941","journal-title":"Series D (The Statistician)"},{"key":"e_1_3_2_1_16_1","first-page":"399","article-title":"The principles and practice of probabilistic programming","volume":"13","author":"Goodman Noah D.","year":"2013","unstructured":"Noah D. Goodman . 2013 . The principles and practice of probabilistic programming . In POPL , Vol. 13. 399 - 402 . Noah D. Goodman. 2013. The principles and practice of probabilistic programming. In POPL, Vol. 13. 399-402.","journal-title":"POPL"},{"key":"e_1_3_2_1_17_1","volume-title":"Goodman and Andreas Stuhlm\u00fcller","author":"Noah","year":"2014","unstructured":"Noah D. Goodman and Andreas Stuhlm\u00fcller . 2014 . The Design and Implementation of Probabilistic Programming Languages. http:\/\/dippl.org. Accessed : 2019-03-16. Noah D. Goodman and Andreas Stuhlm\u00fcller. 2014. The Design and Implementation of Probabilistic Programming Languages. http:\/\/dippl.org. Accessed: 2019-03-16."},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"crossref","unstructured":"A. Griewank and A. Walther. 2008. Evaluating Derivatives (second ed.). Society for Industrial and Applied Mathematics. arXiv:https:\/\/epubs.siam.org\/doi\/pdf\/10.1137\/1.9780898717761  A. Griewank and A. Walther. 2008. Evaluating Derivatives (second ed.). Society for Industrial and Applied Mathematics. arXiv:https:\/\/epubs.siam.org\/doi\/pdf\/10.1137\/1.9780898717761","DOI":"10.1137\/1.9780898717761"},{"key":"e_1_3_2_1_19_1","volume-title":"Article arXiv:1604.06737 (Apr","author":"Guo Cheng","year":"2016","unstructured":"Cheng Guo and Felix Berkhahn . 2016. Entity Embeddings of Categorical Variables. arXiv e-prints , Article arXiv:1604.06737 (Apr 2016 ), arXiv:1604.06737 pages. arXiv:cs.LG\/1604.06737. Cheng Guo and Felix Berkhahn. 2016. Entity Embeddings of Categorical Variables. arXiv e-prints, Article arXiv:1604.06737 (Apr 2016), arXiv:1604.06737 pages. arXiv:cs.LG\/1604.06737."},{"key":"e_1_3_2_1_20_1","volume-title":"Obtaining coroutines with continuations. Computer Languages 11 (12","author":"Haynes Christopher","year":"1986","unstructured":"Christopher Haynes , Daniel Friedman , and Mitchell Wand . 1986. Obtaining coroutines with continuations. Computer Languages 11 (12 1986 ), 143-153. Christopher Haynes, Daniel Friedman, and Mitchell Wand. 1986. Obtaining coroutines with continuations. Computer Languages 11 (12 1986), 143-153."},{"key":"e_1_3_2_1_21_1","first-page":"1593","article-title":"The No-U-Turn sampler: adaptively setting path lengths in Hamiltonian Monte Carlo","volume":"15","author":"Hoffman Matthew D","year":"2014","unstructured":"Matthew D Hoffman and Andrew Gelman . 2014 . The No-U-Turn sampler: adaptively setting path lengths in Hamiltonian Monte Carlo . Journal of Machine Learning Research 15 , 1 (2014), 1593 - 1623 . Matthew D Hoffman and Andrew Gelman. 2014. The No-U-Turn sampler: adaptively setting path lengths in Hamiltonian Monte Carlo. Journal of Machine Learning Research 15, 1 (2014), 1593-1623.","journal-title":"Journal of Machine Learning Research"},{"key":"e_1_3_2_1_22_1","unstructured":"Plotly Technologies Inc. 2015. Collaborative data science. https:\/\/plot.ly  Plotly Technologies Inc. 2015. Collaborative data science. https:\/\/plot.ly"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1462166.1462167"},{"key":"e_1_3_2_1_24_1","volume-title":"Neal et al","author":"Radford","year":"2011","unstructured":"Radford M. Neal et al . 2011 . MCMC using Hamiltonian dynamics. Handbook of markov chain monte carlo 2, 11 (2011), 2. Radford M. Neal et al. 2011. MCMC using Hamiltonian dynamics. Handbook of markov chain monte carlo 2, 11 (2011), 2."},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1162\/tacl_a_00185"},{"key":"e_1_3_2_1_26_1","unstructured":"Adam Paszke Sam Gross Soumith Chintala Gregory Chanan Edward Yang Zachary DeVito Zeming Lin Alban Desmaison Luca Antiga and Adam Lerer. 2017. Automatic differentiation in PyTorch. (2017).  Adam Paszke Sam Gross Soumith Chintala Gregory Chanan Edward Yang Zachary DeVito Zeming Lin Alban Desmaison Luca Antiga and Adam Lerer. 2017. Automatic differentiation in PyTorch. (2017)."},{"key":"e_1_3_2_1_27_1","volume-title":"3rd International Workshop on Distributed Statistical Computing (DSC 2003)","author":"Plummer Martyn","year":"2003","unstructured":"Martyn Plummer . 2003 . JAGS: A Program for Analysis of Bayesian Graphical Models using Gibbs Sampling . 3rd International Workshop on Distributed Statistical Computing (DSC 2003) ; Vienna, Austria 124 (04 2003). Martyn Plummer. 2003. JAGS: A Program for Analysis of Bayesian Graphical Models using Gibbs Sampling. 3rd International Workshop on Distributed Statistical Computing (DSC 2003); Vienna, Austria 124 (04 2003)."},{"key":"e_1_3_2_1_28_1","first-page":"814","article-title":"Black box variational inference","author":"Ranganath Rajesh","year":"2014","unstructured":"Rajesh Ranganath , Sean Gerrish , and David Blei . 2014 . Black box variational inference . In Artificial Intelligence and Statistics. 814 - 822 . Rajesh Ranganath, Sean Gerrish, and David Blei. 2014. Black box variational inference. In Artificial Intelligence and Statistics. 814-822.","journal-title":"Artificial Intelligence and Statistics."},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1214\/aos\/1176346785"},{"key":"e_1_3_2_1_30_1","first-page":"165","volume-title":"ACM SIGPLAN Notices","volume":"50","author":"Scibior Adam","year":"2015","unstructured":"Adam Scibior , Zoubin Ghahramani , and Andrew D Gordon . 2015 . Practical probabilistic programming with monads . In ACM SIGPLAN Notices , Vol. 50 . ACM, 165 - 176 . Adam Scibior, Zoubin Ghahramani, and Andrew D Gordon. 2015. Practical probabilistic programming with monads. In ACM SIGPLAN Notices, Vol. 50. ACM, 165-176."},{"key":"e_1_3_2_1_31_1","volume-title":"Jon Skeet. 2013. C# in Depth","unstructured":"Jon Skeet. 2013. C# in Depth ( 3 rd ed.). Manning Publications Co. , Greenwich, CT, USA . Jon Skeet. 2013. C# in Depth (3rd ed.). Manning Publications Co., Greenwich, CT, USA.","edition":"3"},{"key":"e_1_3_2_1_32_1","unstructured":"Facebook Open Source. 2018. Ending PHP Support and The Future Of Hack. https:\/\/hhvm.com\/blog\/2018\/09\/12\/end-of-php-support-future-of-hack.html Accessed: 2019-03-16.  Facebook Open Source. 2018. Ending PHP Support and The Future Of Hack. https:\/\/hhvm.com\/blog\/2018\/09\/12\/end-of-php-support-future-of-hack.html Accessed: 2019-03-16."},{"key":"e_1_3_2_1_33_1","unstructured":"Facebook Open Source. 2019. Hack - Programming Productivity Without Breaking Things. https:\/\/hacklang.org\/ Accessed: 2019-03-16.  Facebook Open Source. 2019. Hack - Programming Productivity Without Breaking Things. https:\/\/hacklang.org\/ Accessed: 2019-03-16."},{"key":"e_1_3_2_1_34_1","volume-title":"Blei","author":"Tran Dustin","year":"2016","unstructured":"Dustin Tran , Alp Kucukelbir , Adji B. Dieng , Maja Rudolph , Dawen Liang , and David M . Blei . 2016 . Edward : A library for probabilistic modeling, inference, and criticism. arXiv e-prints, Article arXiv:1610.09787 (Oct 2016), arXiv:1610.09787 pages. arXiv:stat.CO\/1610.09787. Dustin Tran, Alp Kucukelbir, Adji B. Dieng, Maja Rudolph, Dawen Liang, and David M. Blei. 2016. Edward: A library for probabilistic modeling, inference, and criticism. arXiv e-prints, Article arXiv:1610.09787 (Oct 2016), arXiv:1610.09787 pages. arXiv:stat.CO\/1610.09787."},{"key":"e_1_3_2_1_35_1","volume-title":"Proceedings of the Fourteenth International Conference on Artificial Intelligence and Statistics. 770-778","author":"Wingate David","unstructured":"David Wingate , Andreas Stuhlm\u00fcller , and Noah D. Goodman . 2011. Lightweight implementations of probabilistic programming languages via transformational compilation . In Proceedings of the Fourteenth International Conference on Artificial Intelligence and Statistics. 770-778 . David Wingate, Andreas Stuhlm\u00fcller, and Noah D. Goodman. 2011. Lightweight implementations of probabilistic programming languages via transformational compilation. In Proceedings of the Fourteenth International Conference on Artificial Intelligence and Statistics. 770-778."},{"key":"e_1_3_2_1_36_1","volume-title":"Automated variational inference in probabilistic programming. arXiv preprint arXiv:1301.1299","author":"Wingate David","year":"2013","unstructured":"David Wingate and Theophane Weber . 2013. Automated variational inference in probabilistic programming. arXiv preprint arXiv:1301.1299 ( 2013 ). David Wingate and Theophane Weber. 2013. Automated variational inference in probabilistic programming. arXiv preprint arXiv:1301.1299 (2013)."},{"key":"e_1_3_2_1_37_1","volume-title":"Proceedings of the 17th International Conference on Artificial Intelligence and Statistics (AISTATS).","author":"Wood Frank","unstructured":"Frank Wood , Jan Willem van de Meet, and Vikash Masinghka. 2014. A New Approach to Probabilistic Programming Inference . In Proceedings of the 17th International Conference on Artificial Intelligence and Statistics (AISTATS). Frank Wood, Jan Willem van de Meet, and Vikash Masinghka. 2014. A New Approach to Probabilistic Programming Inference. In Proceedings of the 17th International Conference on Artificial Intelligence and Statistics (AISTATS)."}],"event":{"name":"PLDI '19: 40th ACM SIGPLAN Conference on Programming Language Design and Implementation","location":"Phoenix AZ USA","acronym":"PLDI '19","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 3rd ACM SIGPLAN International Workshop on Machine Learning and Programming Languages"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3315508.3329974","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3315508.3329974","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:53:34Z","timestamp":1750204414000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3315508.3329974"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,6,22]]},"references-count":37,"alternative-id":["10.1145\/3315508.3329974","10.1145\/3315508"],"URL":"https:\/\/doi.org\/10.1145\/3315508.3329974","relation":{},"subject":[],"published":{"date-parts":[[2019,6,22]]},"assertion":[{"value":"2019-06-22","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}