Infer.NET Fun
Infer.NET Fun

Infer.NET Fun turns the simple succinct syntax of F# into an executable modeling language for Bayesian machine learning.

We propose a marriage of probabilistic functional programming with Bayesian reasoning. Infer.NET Fun turns F# into a probabilistic modeling language – you can code up the conditional probability distributions of Bayes’ rule using F# array comprehensions with constraints. Write your model in F#. Run it directly to synthesize test datasets and to debug models. Or compile it with Infer.NET for efficient statistical inference. Hence, efficient algorithms for a range of regression, classification, and specialist learning tasks derive by probabilistic functional programming.

  • News, March 2013: our TACAS paper wins the EAPLS Best Paper Award for ETAPS 2013. Let's you drive MCMC samplers like Filzbach from Fun programs.
  • Read Andy Gordon's position statement An Agenda for Probabilistic Programming: Usable, Portable, and Ubiquitous for the ISAT/DARPA workshop on "Probabilistic Programming: Democratizing Machine Learning", Menlo Park, February 2013.
  • See here for the slides and video of Andy Gordon's Infer.NET Fun talk at Lang.NEXT 2012.
  • See here for Andy Gordon's talk at POPL 2013, which explains the 5 distributions of a Bayesian model as 5 probabilistic programs in F#.
  • And see here for Andy Gordon's Probabilistic Programming talk at OBT 2013.

Some current participants in the Infer.NET Fun project:

Since September 2012, Infer.NET Fun is a component of Infer.NET.

"I think it's extraordinarily important that we in computer science keep fun in computing."

Alan J. Perlis
ACM Turing Award Winner 1966.

Publications