Open-source probabilistic programming language for modeling

Figaro is a free, open-source probabilistic programming language for probabilistic modeling developed by Charles River Analytics. Users can employ programming language constructs such as data structures, conditionals, looping, recursion, and abstraction to build models of rich complex systems. Figaro’s built-in reasoning algorithms automatically apply to models written in the language, so modelers can experiment with models immediately without having to write reasoning code.

The library of model elements enables users to choose components to build models and enables integration with Java and Scala applications. Figaro is aimed at use in rapid prototyping of probabilistic models and integrating them with applications. Figaro represents a wide variety of models, including directed and undirected models, models in which conditions and constraints are expressed by arbitrary Scala functions, models involving inter-related objects, open universe models in which the number of objects is unknown, and models involving discrete and continuous elements.