A production-ready, monadic probabilistic programming library for Rust
Write elegant probabilistic programs by composing Model values in direct style; execute them with pluggable interpreters and state-of-the-art inference algorithms.
Supported Rust: 1.70+ • Platforms: Linux / macOS / Windows • Crate: fugue-ppl on crates.io
Check out these resources to get started:
- [Getting Started](./getting-started/README.md) - Installation and first steps
- [How-To Guides](./how-to/README.md) - Practical guides for common tasks
- [Tutorials](./tutorials/README.md) - In-depth learning materials
- [API Reference](./api-reference.md) - Complete API documentation
- 🧩 Monadic PPL: Compose probabilistic programs using pure functional abstractions
- 🔒 Type-Safe Distributions: 10+ built-in probability distributions with natural return types
- 📊 Multiple Inference Methods: MCMC, SMC, Variational Inference, ABC
- 🔍 Comprehensive Diagnostics: R-hat convergence, effective sample size, validation
- 🚀 Production Ready: Numerically stable algorithms with memory optimization
- ✨ Ergonomic Macros: Do-notation (
prob!), vectorization (plate!), addressing (addr!)
[dependencies]
fugue-ppl = "0.1.0"
- [GitHub Repository](https://github.com/alexnodeland/fugue)
- [API Reference](https://docs.rs/fugue-ppl)
- [Zotero](https://www.zotero.org/groups/6138134/fugue/library)