Infer.NET Fun

Established: April 2, 2012


Microsoft Research blog


“I think it’s extraordinarily important that we in computer science keep fun in computing.”

Alan J. Perlis – ACM Turing Award Winner 1966.

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.

Tabular brings the power of Infer.NET Fun to spreadsheet users, via a domain-specific languages for probabilistic models designed to be authored within the spreadsheet, taking machine learning to where the data is.

  • April 2015: new version released of the Excel addin.
  • November 2014: the full version of our ESOP 2015 paper on embedding Tabular in spreadsheets is out.
  • June 2014: Tabular is available as an Excel addin.
  • March 2014: Tabular is being shown at TechFest’14.
  • January 2014: catch up with the slides from Andy’s POPL talk on Tabular, now available on the web.
  • December 2013: the full version of our POPL 2014 paper on Tabular is out. Tabular is a new schema-driven approach to probabilistic programming: don’t make the programming language probabilistic, make the schema probabilistic.
  • August 2013: our paper on measure transformer semantics for probabilistic programs has been accepted by the journal LMCS.
  • 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 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.
  • See here for the slides and video of Andy Gordon’s Infer.NET Fun talk at Lang.NEXT 2012.

Some current participants in the Infer.NET Fun project:

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