Implementing a Library for Probabilistic Programming using Non-strict Non-determinism
Sandra Dylus, Jan Christiansen, Finn Teegen

TL;DR
This paper introduces PFLP, a probabilistic programming library in Curry, leveraging functional logic paradigms like non-determinism and call-time choice to improve performance and expressiveness in probabilistic modeling.
Contribution
It demonstrates how functional logic programming concepts can be used to implement an efficient probabilistic programming library, bridging the gap between the two paradigms.
Findings
PFLP supports probabilistic programming in Curry effectively.
The implementation outperforms standard list-based approaches.
It competes with full probabilistic programming languages in benchmarks.
Abstract
This paper presents PFLP, a library for probabilistic programming in the functional logic programming language Curry. It demonstrates how the concepts of a functional logic programming language support the implementation of a library for probabilistic programming. In fact, the paradigms of functional logic and probabilistic programming are closely connected. That is, language characteristics from one area exist in the other and vice versa. For example, the concepts of non-deterministic choice and call-time choice as known from functional logic programming are related to and coincide with stochastic memoization and probabilistic choice in probabilistic programming, respectively. We will further see that an implementation based on the concepts of functional logic programming can have benefits with respect to performance compared to a standard list-based implementation and can even compete…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
