Explore Examples
Minimal examples with LazyPPL
Here are two minimal demonstrations of how to use LazyPPL, with no other libraries, to help with getting started.
Expected valuesLinear and piecewise linear regression with LazyPPL
We discuss Bayesian linear regression and piecewise linear regression.
View readable plot
Clustering with a lazy Dirichlet process
This file contains an example of non-parametric clustering using a Dirichlet process.
View readable plot
Wiener process regression in LazyPPL
We can define a random function wiener :: Prob(Double → Double) which describes a Wiener process.
View readable plot
Gaussian process regression in LazyPPL
We can define a random function gp :: (Double -> Double -> Double) -> Prob (Double -> Double) which describes a Gaussian process.
View readable plot
Program induction in LazyPPL
We treat program induction as a regression problem: finding programs that may have noisly generated some data points.
View readable plot
Probabilistic programming with graphs, and graph inference
We discuss probabilistic programming with graphs and graph inference.
View readable plot
Relational inference with a CRP-based infinite relational model
This example, which follows an example from Church, demonstrates how the abstract types of the Chinese Restaurant Process can be used to program an infinite relational model.
View readable plot
Feature finding using an Indian Buffet Process
A demonstration of using Indian Buffet Process for feature finding.
View readable plot


Discussion of program transformations and laziness
The posterior probability of (model prior1) returning true is 4/7.
View readable plot
Inference over a 2D physics model
Perform Bayesian inference in a 2D physics simulation, inferring bumper configurations so a falling ball lands in a cup.