Martin Erwig and Steve Kollmansberger introduced Probabilistic Functional Programming in 2006 (http://web.engr.oregonstate.edu/~erwig/pfp/).
PFP is a library and a DSL for doing probabilistic calculations in Haskell. At its heart is a nondeterminism monad similar to the list monad, but augmented with probabilities. The library makes it easy to create probability distributions and put together complex stochastic simulations.
It suffers from one major drawback, however -- just like with Sets, it seems impossible to construct an efficient Monad instance for probability distributions, which means that the library can be quite inefficient. But in fact, it's *not* impossible to write an efficient monad instance - in fact it's quite easy, just requiring a simple use of GADTs.
In this talk I'll explain the basics of the PFP library and how to make it more efficient, and hopefully delve into some of the extremely cool code you can write with it. If there's time I might even explain how it's possible to do quantum calculations in PFP...
I'm a software engineer with strong domain knowledge in the telecom/wireless sector.
generalist developer, who loves haskell
ok so i had to read lyah about 4 times but i finally get it! loving it! G
I'm a web developer. I like FP.
Programming language geek.
FP advocate and constant learner, amateur haskeller.
I pretend to be a programmer
interested in using functional programming for analytics
Interested in learning haskell.
PhD researching distributed graph technologies using Haskell and C++
24 Days of Oh God Why Am I Doing This