๐ผ Fugue User Guide
A type-safe, monadic probabilistic programming library for Rust โ pre-1.0 and actively developed
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.87+ โข Platforms: Linux / macOS / Windows โข Crate: fugue-ppl on crates.io
Check out these resources to get started:
- Getting Started - Installation and first steps
- How-To Guides - Practical guides for common tasks
- Tutorials - In-depth learning materials
- API Reference - Complete API documentation
About Fugue
- ๐งฉ Monadic PPL: Compose probabilistic programs using pure functional abstractions
- ๐ Type-Safe Distributions: 17 built-in probability distributions with natural return types
- ๐ Multiple Inference Methods: MCMC, HMC, SMC, Variational Inference, ABC (see Advanced Inference)
- ๐ Comprehensive Diagnostics: R-hat convergence, effective sample size, validation
- โก Numerically Stable: Log-space computations throughout for robust probability arithmetic
- โจ Ergonomic Macros: Do-notation (
prob!), vectorization (plate!), addressing (addr!)
Fugue is 0.1.x: pre-1.0, actively developed, with no SemVer stability guarantee yet and a single primary maintainer. It's extensively tested (unit, integration, and statistical regression tests against closed-form posteriors), but that's a different claim from "production-ready" โ pin an exact version and expect breaking API changes between 0.1.x releases as the design settles.
Installation
[dependencies]
fugue-ppl = "0.1.0"