Boy's first library I'm currently working on a discrete, finite probability library.  It's progressing fairly well.  The only downside to the library, as I'm beginning to realize, is that most probabilities, even discrete ones, are not in a finite number of categories. However, here's some examples of what the library can do. This is my to-do list for the library: (dist (+ (dist-random 1 2 3) (dist-random 1 2 3))) Which would return the distribution 2d3.  This would allow you to take a normal program that uses random generation, replace the random generators with dist-random, and wrap the whole thing in dist, and get back the distribution of outputs that program *would* have given is dist-random were actually a random number generator.  For instance, you could take a poker program that draws a hand of five cards and tells you what you got, and use this library to wrap it such that you just got a distribution of the hands in poker.  Remember too, that these are all exact probabilities. If you have comments or suggestions, please contact me.  I'd especially like to hear anything you think I should add to the library.