This is two small implementations of the language described in

D. Koller, D. McAllester, and A. Pfeffer. Effective Bayesian
Inference for Stochastic Programs. In *Proceedings of the
Fourteenth National Conference on Artificial Intelligence (AAAI-97*),
pages 740-747, Providence, Rhode Island, August 1997.

The implementations are in Java and Scheme. Both have bugs. The Scheme version is currently buggier, but is also much more concise.

There is a description of them available. [PostScript, 76k]

The source tarball is
distributed under the
GNU Lesser General Public License.

I've also implemented the probability
monad in Scheme.

20061030

There's now a very tiny OCaml
implementation of this. It only has integers as a base type, but
it's very small, so (hopefully) it's easier to understand what it's
doing. Here is the output
of running it on some tests.

[browse source][tarball]