I noticed the other day that my “Build Your Own Probability Monads” paper had disappeared. It’s back online with a new introduction:
Several years back, I wrote a series of blog posts about probability monads inspired by this quote:
A very senior Microsoft developer who moved to Google told me that Google works and thinks at a higher level of abstraction than Microsoft. “Google uses Bayesian filtering the way Microsoft uses the if statement,” he said. -Joel Spolsky
My goal was to make it easier to reason about evidence by combining Bayes’ Rule and probability monads:
fluStatusGivenPositiveTest = do fluStatus <- percentWithFlu 10 testResult <- if fluStatus == Flu then percentPositive 70 else percentPositive 10 guard (testResult == Pos) return fluStatus
You can find links to the original blog posts, the paper, and the source code from Hac 07 on the new overview page, which is intended to be the official, long-term home for this work.