skip to main content

Exact Recursive Probabilistic Programming

Published:06 April 2023Publication History
Skip Abstract Section

Abstract

Recursive calls over recursive data are useful for generating probability distributions, and probabilistic programming allows computations over these distributions to be expressed in a modular and intuitive way. Exact inference is also useful, but unfortunately, existing probabilistic programming languages do not perform exact inference on recursive calls over recursive data, forcing programmers to code many applications manually. We introduce a probabilistic language in which a wide variety of recursion can be expressed naturally, and inference carried out exactly. For instance, probabilistic pushdown automata and their generalizations are easy to express, and polynomial-time parsing algorithms for them are derived automatically. We eliminate recursive data types using program transformations related to defunctionalization and refunctionalization. These transformations are assured correct by a linear type system, and a successful choice of transformations, if there is one, is guaranteed to be found by a greedy algorithm.

Skip Supplemental Material Section

Supplemental Material

References

  1. Samson Abramsky. 1993. Computational Interpretations of Linear Logic. Theoretical Computer Science, 111, 1–2 (1993), 3–57. https://doi.org/10.1016/0304-3975(93)90181-R Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Miguel A. Alonso, Éric Villemonte de la Clergerie, and Manuel Vilares. 2000. A redefinition of Embedded Push-Down Automata. In Proc. International Workshop on Tree Adjoining Grammar and Related Frameworks (TAG+5). 19–26. https://aclanthology.org/W00-2002 Google ScholarGoogle Scholar
  3. Eric Atkinson, Charles Yuan, Guillaume Baudart, Louis Mandel, and Michael Carbin. 2022. Semi-Symbolic Inference for Efficient Streaming Probabilistic Programming. PACM on Programming Languages, 6, OOPSLA2 (2022), Article 184, 29 pages. https://doi.org/10.1145/3563347 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Robert J. Aumann. 1961. Borel Structures for Function Spaces. Illinois Journal of Mathematics, 5, 4 (1961), 614–630. https://doi.org/10.1215/ijm/1255631584 Google ScholarGoogle ScholarCross RefCross Ref
  5. R. I[ris] Bahar, E[rica] A. Frohm, C[harles] M. Gaona, G[ary] D. Hachtel, E[nrico] Macii, A[belardo] Pardo, and F[abio] Somenzi. 1997. Algebraic Decision Diagrams and Their Applications. Formal Methods in System Design, 10 (1997), 171–206. https://doi.org/10.1023/A:1008699807402 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Anindya Banerjee, Nevin Heintze, and Jon G. Riecke. 2001. Design and Correctness of Program Transformations Based on Control-Flow Analysis. In Theoretical Aspects of Computer Software: TACS 2001 (LNCS, 2215). Springer, 420–447. https://doi.org/10.1007/3-540-45500-0_21 Google ScholarGoogle ScholarCross RefCross Ref
  7. Andrew Barber. 1996. Dual Intuitionistic Linear Logic. Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh. https://www.lfcs.inf.ed.ac.uk/reports/96/ECS-LFCS-96-347/ Google ScholarGoogle Scholar
  8. Ezio Bartocci, Laura Kovács, and Miroslav Stankovič. 2019. Automatic Generation of Moment-Based Invariants for Prob-Solvable Loops. In Automated Technology for Verification and Analysis: ATVA 2019 (LNCS, Vol. 11781). Springer, 255–276. https://doi.org/10.1007/978-3-030-31784-3_15 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Michel Bauderon and Bruno Courcelle. 1987. Graph Expressions and Graph Rewritings. Mathematical Systems Theory, 20 (1987), 83–127. https://doi.org/10.1007/BF01692060 Google ScholarGoogle ScholarCross RefCross Ref
  10. Taylor L. Booth and Richard A. Thompson. 1973. Applying Probability Measures to Abstract Languages. IEEE Trans. Comput., C-22, 5 (1973), 442–450. https://doi.org/10.1109/T-C.1973.223746 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Johannes Borgström, Andrew D. Gordon, Michael Greenberg, James Margetson, and Jurgen Van Gael. 2011. Measure Transformer Semantics for Bayesian Machine Learning. In Programming Languages and Systems: ESOP 2011 (LNCS, Vol. 6602). Springer, 77–96. https://doi.org/10.1007/978-3-642-19718-5_5 Google ScholarGoogle ScholarCross RefCross Ref
  12. Olivier Bouissou, Eric Goubault, Sylvie Putot, Aleksandar Chakarov, and Sriram Sankaranarayanan. 2016. Uncertainty Propagation Using Probabilistic Affine Forms and Concentration of Measure Inequalities. In Tools and Algorithms for the Construction and Analysis of Systems: TACAS 2016 (LNCS, Vol. 9636). Springer, 225–243. https://doi.org/10.1007/978-3-662-49674-9_13 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Randal E. Bryant. 1986. Graph-Based Algorithms for Boolean Function Manipulation. IEEE Trans. Comput., C-35, 8 (1986), 677–691. https://doi.org/10.1109/TC.1986.1676819 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Wray L. Buntine. 1994. Operations for Learning with Graphical Models. J. Artificial Intelligence Research, 2 (1994), 159–225. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Alexandra Butoi, Brian DuSell, Tim Vieira, Ryan Cotterell, and David Chiang. 2022. Algorithms for Weighted Pushdown Automata. In Proc. EMNLP. https://aclanthology.org/2022.emnlp-main.656 Google ScholarGoogle Scholar
  16. Shu Cai, David Chiang, and Yoav Goldberg. 2011. Language-Independent Parsing with Empty Elements. In Proc. NAACL HLT. 212–216. https://aclanthology.org/P11-2037 Google ScholarGoogle Scholar
  17. Ashok K. Chandra and Philip M. Merlin. 1977. Optimal Implementation of Conjunctive Queries in Relational Data Bases. In Proc. STOC. 77–90. https://doi.org/10.1145/800105.803397 Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Stanley F. Chen and Joshua Goodman. 1999. An empirical study of smoothing techniques for language modeling. Computer Speech & Language, 13, 4 (1999), 359–394. issn:0885-2308 https://doi.org/10.1006/csla.1999.0128 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. David Chiang and Darcey Riley. 2020. Factor Graph Grammars. In Proc. NeurIPS. 6648–6658. https://proceedings.neurips.cc/paper/2020/hash/49ca03822497d26a3943d5084ed59130-Abstract.html Google ScholarGoogle Scholar
  20. Guillaume Claret, Sriram K. Rajamani, Aditya V. Nori, Andrew D. Gordon, and Johannes Borgström. 2013. Bayesian Inference Using Data Flow Analysis. In Proc. ESEC/FSE 2013. 92–102. https://doi.org/10.1145/2491411.2491423 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Michael Collins. 1999. Head-Driven Statistical Models for Natural Language Parsing. Ph. D. Dissertation. University of Pennsylvania. Google ScholarGoogle Scholar
  22. Gregory F. Cooper. 1990. The Computational Complexity of Probabilistic Inference Using Bayesian Belief Networks. Artificial Intelligence, 42, 2 (1990), 393–405. https://doi.org/10.1016/0004-3702(90)90060-D Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Olivier Danvy and Andrzej Filinski. 1990. Abstracting Control. In Proc. ACM Conference on Lisp and Functional Programming (LFP). 151–160. https://doi.org/10.1145/91556.91622 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Olivier Danvy and Kevin Millikin. 2009. Refunctionalization at Work. Science of Computer Programming, 74, 8 (2009), 534–549. https://doi.org/10.1016/j.scico.2007.10.007 Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Olivier Danvy and Lasse R. Nielsen. 2001. Defunctionalization at Work. In Proc. 3rd International Conference on Principles and Practice of Declarative Programming. 162–174. https://doi.org/10.1145/773184.773202 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Frank Drewes, Hans-Jörg Kreowski, and Annegret Habel. 1997. Hyperedge Replacement Graph Grammars. In Handbook of Graph Grammars and Computing by Graph Transformation, Grzegorz Rozenberg (Ed.). World Scientific, 95–162. https://doi.org/10.1142/9789812384720_0002 Google ScholarGoogle ScholarCross RefCross Ref
  27. Thomas Ehrhard, Michele Pagani, and Christine Tasson. 2018. Full Abstraction for Probabilistic PCF. J. ACM, 65, 4 (2018), Article 23, 44 pages. https://doi.org/10.1145/3164540 Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Thomas Ehrhard and Christine Tasson. 2019. Probabilistic Call by Push Value. Logical Methods in Computer Science, 15, 1 (2019), Article 3, 46 pages. https://doi.org/10.23638/LMCS-15(1:3)2019 Google ScholarGoogle ScholarCross RefCross Ref
  29. Javier Esparza, Stefan Kiefer, and Michael Luttenberger. 2007. On Fixed Point Equations over Commutative Semirings. In Proc. STACS. 296–307. https://doi.org/10.1007/978-3-540-70918-3_26 Google ScholarGoogle ScholarCross RefCross Ref
  30. Javier Esparza, Stefan Kiefer, and Michael Luttenberger. 2008. Solving Monotone Polynomial Equations. In Proc. IFIP International Conference on Theoretical Computer Science (TCS). 285–298. https://doi.org/10.1007/978-0-387-09680-3_20 Invited paper Google ScholarGoogle ScholarCross RefCross Ref
  31. Javier Esparza, Stefan Kiefer, and Michael Luttenberger. 2010. Newtonian Program Analysis. J. ACM, 57, 6 (2010), Article 33, 47 pages. https://doi.org/10.1145/1857914.1857917 Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Kousha Etessami and Mihalis Yannakakis. 2009. Recursive Markov Chains, Stochastic Grammars, and Monotone Systems of Nonlinear Equations. J. ACM, 56, 1 (2009), Article 1, Feb., 66 pages. https://doi.org/10.1145/1462153.1462154 Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Jenny Rose Finkel, Alex Kleeman, and Christopher D. Manning. 2008. Efficient, Feature-based, Conditional Random Field Parsing. In Proc. ACL: HLT. 959–967. https://aclanthology.org/P08-1109 Google ScholarGoogle Scholar
  34. Timon Gehr, Sasa Misailovic, and Martin Vechev. 2016. PSI: Exact Symbolic Inference for Probabilistic Programs. In Computer Aided Verification: CAV 2016 (LNCS, Vol. 9779). 62–83. https://doi.org/10.1007/978-3-319-41528-4_4 Google ScholarGoogle ScholarCross RefCross Ref
  35. Timon Gehr, Samuel Steffen, and Martin Vechev. 2020. λ PSI: Exact Inference for Higher-Order Probabilistic Programs. In Proc. PLDI. 883–897. https://doi.org/10.1145/3385412.3386006 Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Jean-Yves Girard. 1987. Linear Logic. Theoretical Computer Science, 50 (1987), 1–101. https://doi.org/10.1016/0304-3975(87)90045-4 Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Jean-Yves Girard. 1991. A New Constructive Logic: Classic Logic. Mathematical Structures in Computer Science, 1, 3 (1991), 255–296. https://doi.org/10.1017/S0960129500001328 Google ScholarGoogle ScholarCross RefCross Ref
  38. Noah D. Goodman and Andreas Stuhlmüller. 2014. The Design and Implementation of Probabilistic Programming Languages. http://dippl.org Google ScholarGoogle Scholar
  39. Alex Graves, Santiago Fernández, and Faustino Gomez. 2006. Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Networks. In Proc. ICML. 369–376. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Annegret Habel and Hans-Jörg Kreowski. 1987. May we introduce to you: Hyperedge replacement. In Graph Grammars and Their Application to Computer Science: Graph Grammars 1986 (LNCS, Vol. 291). Springer, 15–26. https://doi.org/10.1007/3-540-18771-5_41 Google ScholarGoogle ScholarCross RefCross Ref
  41. Chris Heunen, Ohad Kammar, Sam Staton, and Hongseok Yang. 2017. A Convenient Category for Higher-Order Probability Theory. In Proc. LICS. 1–12. https://dl.acm.org/doi/10.5555/3329995.3330072 Google ScholarGoogle ScholarCross RefCross Ref
  42. Steven Holtzen, Guy Van den Broeck, and Todd Millstein. 2020. Scaling Exact Inference for Discrete Probabilistic Programs. PACM on Programming Languages, 4, OOPSLA (2020), Article 140, 31 pages. https://doi.org/10.1145/3428208 Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Zhiheng Huang, Wei Xu, and Kai Yu. 2015. Bidirectional LSTM-CRF Models for Sequence Tagging. arxiv:1508.01991 arXiv:1508.01991v1 Google ScholarGoogle Scholar
  44. Daphne Koller and Nir Friedman. 2009. Probabilistic Graphical Models: Principles and Techniques. MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Daphne Koller, David McAllester, and Avi Pfeffer. 1997. Effective Bayesian Inference for Stochastic Programs. In Proc. AAAI. 740–747. https://www.aaai.org/Library/AAAI/1997/aaai97-115.php Google ScholarGoogle Scholar
  46. Dexter Kozen. 1981. Semantics of Probabilistic Programs. J. Comput. System Sci., 22, 3 (1981), 328–350. https://doi.org/10.1016/0022-0000(81)90036-2 Google ScholarGoogle ScholarCross RefCross Ref
  47. Frank R. Kschischang, Brendan J. Frey, and Hans-Andrea Loeliger. 2001. Factor Graphs and the Sum-Product Algorithm. IEEE Trans. Information Theory, 47, 2 (2001), 498–519. https://doi.org/10.1109/18.910572 Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Marta Z. Kwiatkowska, Gethin Norman, and David Parker. 2011. PRISM 4.0: Verification of Probabilistic Real-Time Systems. In Computer Aided Verification (CAV) (LNCS, Vol. 6806). Springer, 585–591. https://doi.org/10.1007/978-3-642-22110-1_47 Google ScholarGoogle ScholarCross RefCross Ref
  49. John D. Lafferty, Andrew McCallum, and Fernando C. N. Pereira. 2001. Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data. In Proc. ICML. 282–289. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. James Laird. 2020. Weighted Models for Higher-Order Computation. Information and Computation, 275 (2020), Article 104645, 34 pages. https://doi.org/10.1016/j.ic.2020.104645 Google ScholarGoogle ScholarCross RefCross Ref
  51. Jim Laird, Giulio Manzonetto, Guy McCusker, and Michele Pagani. 2013. Weighted Relational Models of Typed Lambda-Calculi. In Proc. LICS. 301–310. https://doi.org/10.1109/LICS.2013.36 Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Bernard Lang. 1974. Deterministic Techniques for Efficient Non-Deterministic Parsers. In Proc. Colloquium on Automata, Languages, and Programming. 255–269. https://doi.org/10.1007/978-3-662-21545-6_18 Google ScholarGoogle ScholarCross RefCross Ref
  53. Bernard Lang. 1994. Recognition Can Be Harder Than Parsing. Computational Intelligence, 10, 4 (1994), 486–494. https://doi.org/10.1111/j.1467-8640.1994.tb00011.x Google ScholarGoogle ScholarCross RefCross Ref
  54. Daniel J. Lehmann. 1977. Algebraic Structures for Transitive Closure. Theoretical Computer Science, 4, 1 (1977), 59–76. https://doi.org/10.1016/0304-3975(77)90056-1 Google ScholarGoogle ScholarCross RefCross Ref
  55. Jonathan May and Kevin Knight. 2006. Tiburon: A Weighted Tree Automata Toolkit. In Proc. Conference on Implementation and Application of Automata (CIAA). 102–113. https://doi.org/10.1007/11812128_11 Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. David McAllester, Michael Collins, and Fernando Pereira. 2008. Case-Factor Diagrams for Structured Probabilistic Modeling. J. Comput. System Sci., 74, 1 (2008), 84–96. https://doi.org/10.1016/j.jcss.2007.04.015 Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Tom Minka and John Winn. 2008. Gates. In Proc. NeurIPS. 1073–1080. https://papers.nips.cc/paper/3379-gates Google ScholarGoogle Scholar
  58. Mehryar Mohri. 1997. Finite-State Transducers in Language and Speech Processing. Computational Linguistics, 23, 2 (1997), 269–311. https://aclanthology.org/J97-2003 Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Marcel Moosbrugger, Miroslav Stankovič, Ezio Bartocci, and Laura Kovács. 2022. This is the Moment for Probabilistic Loops. PACM on Programming Languages, 6, OOPSLA2 (2022), Article 178, 29 pages. https://doi.org/10.1145/3563341 Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Lasse R. Nielsen. 2000. A Denotational Investigation of Defunctionalization. BRICS. https://www.brics.dk/RS/00/47/ Google ScholarGoogle Scholar
  61. Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury, Gregory Chanan, Trevor Killeen, Zeming Lin, Natalia Gimelshein, Luca Antiga, Alban Desmaison, Andreas Kopf, Edward Yang, Zachary DeVito, Martin Raison, Alykhan Tejani, Sasank Chilamkurthy, Benoit Steiner, Lu Fang, Junjie Bai, and Soumith Chintala. 2019. PyTorch: An Imperative Style, High-Performance Deep Learning Library. In Proc. NeurIPS. 8024–8035. http://papers.neurips.cc/paper/9015-pytorch-an-imperative-style-high-performance-deep-learning-library Google ScholarGoogle Scholar
  62. Fernando C. N. Pereira and Stuart M. Shieber. 1987. Prolog and Natural-Language Analysis. Center for the Study of Language and Information. Google ScholarGoogle Scholar
  63. Avi Pfeffer. 2001. IBAL: A Probabilistic Rational Programming Language. In Proc. IJCAI. 733–740. Google ScholarGoogle Scholar
  64. Avi Pfeffer. 2005. The Design and Implementation of IBAL: A General-Purpose Probabilistic Language. Harvard Computer Science Group. http://nrs.harvard.edu/urn-3:HUL.InstRepos:25105000 Google ScholarGoogle Scholar
  65. Avi Pfeffer. 2016. Practical Probabilistic Programming. Manning. Google ScholarGoogle Scholar
  66. Benjamin C. Pierce. 2002. Types and Programming Languages. MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. Hoifung Poon and Pedro Domingos. 2011. Sum-Product Networks: A New Deep Architecture. In Proc. UAI. 337–346. arxiv:1202.3732 Google ScholarGoogle ScholarCross RefCross Ref
  68. François Pottier and Nadji Gauthier. 2006. Polymorphic Typed Defunctionalization and Concretization. Higher-Order and Symbolic Computation, 19, 1 (2006), March, 125–162. https://doi.org/10.1007/s10990-006-8611-7 Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. Lawrence R. Rabiner. 1989. A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition. Proc. IEEE, 77, 2 (1989), Feb., 257–286. https://doi.org/10.1109/5.18626 Google ScholarGoogle ScholarCross RefCross Ref
  70. Tillmann Rendel, Julia Trieflinger, and Klaus Ostermann. 2015. Automatic Refunctionalization to a Language with Copattern Matching: With Applications to the Expression Problem. In Proc. ICFP. 269–279. https://doi.org/10.1145/2784731.2784763 Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. John C. Reynolds. 1972. Definitional Interpreters for Higher-Order Programming Languages. In Proc. ACM. 717–740. https://doi.org/10.1145/800194.805852 Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Michael Riley, Cyril Allauzen, and Martin Jansche. 2009. OpenFst: An Open-Source, Weighted Finite-State Transducer Library and its Applications to Speech and Language. In Proc. NAACL HLT, Companion Volume: Tutorial Abstracts. 9–10. https://aclanthology.org/N09-4005 Google ScholarGoogle ScholarCross RefCross Ref
  73. Feras A. Saad, Martin C. Rinard, and Vikash K. Mansinghka. 2021. SPPL: Probabilistic Programming with Fast Exact Symbolic Inference. In Proc. PLDI. 804–819. https://doi.org/10.1145/3453483.3454078 Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. Sriram Sankaranarayanan, Yi Chou, Eric Goubault, and Sylvie Putot. 2020. Reasoning about Uncertainties in Discrete-Time Dynamical Systems using Polynomial Forms. In Proc. NeurIPS. 33, 17502–17513. https://proceedings.neurips.cc/paper/2020/hash/ca886eb9edb61a42256192745c72cd79-Abstract.html Google ScholarGoogle Scholar
  75. Dorai Sitaram and Matthias Felleisen. 1990. Control Delimiters and Their Hierarchies. Lisp and Symbolic Computation, 3, 1 (1990), Jan., 67–99. https://doi.org/10.1007/BF01806126 Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. Mitchell Stern, Jacob Andreas, and Dan Klein. 2017. A Minimal Span-Based Neural Constituency Parser. In Proc. ACL (Volume 1: Long Papers). 818–827. https://doi.org/10.18653/v1/P17-1076 Google ScholarGoogle ScholarCross RefCross Ref
  77. Alistair Stewart, Kousha Etessami, and Mihalis Yannakakis. 2015. Upper Bounds for Newton’s Method on Monotone Polynomial Systems, and P-Time Model Checking of Probabilistic One-Counter Automata. J. ACM, 62, 4 (2015), Article 30, 33 pages. https://doi.org/10.1145/2789208 Google ScholarGoogle ScholarDigital LibraryDigital Library
  78. Andreas Stuhlmüller and Noah Goodman. 2012. A Dynamic Programming Algorithm for Inference in Recursive Probabilistic Programs. In Proc. Workshop on Statistical Relational AI (StaRAI). arxiv:1206.3555 Google ScholarGoogle Scholar
  79. Ben Taskar, Dan Klein, Mike Collins, Daphne Koller, and Christopher Manning. 2004. Max-Margin Parsing. In Proc. EMNLP. 1–8. https://www.aclweb.org/anthology/W04-3201 Google ScholarGoogle Scholar
  80. Jan-Willem van de Meent, Brooks Paige, Hongseok Yang, and Frank Wood. 2018. An Introduction to Probabilistic Programming. arxiv:1809.10756 arXiv:1809.10756 Google ScholarGoogle Scholar
  81. K. Vijay-Shankar and Aravind K. Joshi. 1985. Some Computational Properties of Tree Adjoining Grammars. In Proc. ACL. 82–93. https://doi.org/10.3115/981210.981221 Google ScholarGoogle ScholarDigital LibraryDigital Library
  82. K. Vijayashanker. 1994. A Study of Tree Adjoining Grammars. Ph. D. Dissertation. Univ. of Pennsylvania. Google ScholarGoogle Scholar
  83. John von Neumann. 1951. Various Techniques Used in Connection With Random Digits. National Bureau of Standards Applied Mathematics Series, 12 (1951), 36–38. Google ScholarGoogle Scholar
  84. Rajan Walia, Praveen Narayanan, Jacques Carette, Sam Tobin-Hochstadt, and Chung-chieh Shan. 2019. From High-Level Inference Algorithms to Efficient Code. PACM on Programming Languages, 3, ICFP (2019), Article 98, 30 pages. https://doi.org/10.1145/3352468 Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. David Walker. 2005. Substructural Type Systems. In Advanced Topics in Types and Programming Languages, Benjamin C. Pierce (Ed.). MIT Press, 3–43. Google ScholarGoogle Scholar
  86. Mitchell Wand, Ryan Culpepper, Theophilos Giannakopoulos, and Andrew Cobb. 2018. Contextual Equivalence for a Probabilistic Language with Continuous Random Variables and Recursion. PACM on Programming Languages, 2, ICFP (2018), Article 87, 38 pages. https://doi.org/10.1145/3236782 Google ScholarGoogle ScholarDigital LibraryDigital Library
  87. David J. Weir. 1992. A Geometric Hierarchy Beyond Context-Free Languages. Theoretical Computer Science, 104, 2 (1992), 235–261. https://doi.org/10.1016/0304-3975(92)90124-X Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Exact Recursive Probabilistic Programming

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Article Metrics

          • Downloads (Last 12 months)126
          • Downloads (Last 6 weeks)65

          Other Metrics

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!