A lightweight package containing interfaces and associated APIs for modelling languages for probabilistic programming.
The documentation covers:
- VarNames and optics: the
VarNametype, used throughout the TuringLang ecosystem to represent names of random variables. - The
oftype system: a declarative, framework-agnostic way to specify parameter types for probabilistic programming. - Probabilistic programming API: the abstract model functions and trace types that downstream packages implement.
- Evaluator preparation and AD: preparing a callable and asking the prepared evaluator for values and derivatives.
The interface page records the original design discussion for a common probabilistic programming interface. That page is marked outdated, and downstream packages are free to implement the interfaces in any appropriate way.