Infer.NET Fun

Established: April 2, 2012

“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.



Portrait of Andy Gordon

Andy Gordon

Senior Principal Research Manager

Portrait of Aditya Nori

Aditya Nori

Partner Research Manager

Portrait of Sriram Rajamani

Sriram Rajamani

Distinguished Scientist and Managing Director, Microsoft Research India Lab