I'm slowly learning Haskell. Today's project was something that arguably should be way faster for a fluent Haskell programmer than for a C programmer. It wasn't for me, since I'm still learning the language.
The recent BoingBoing posting on "nontransitive dice" is something I'd seen before and found interesting…
I wrote a small Haskell program, attached to this post, that searches for sets of non-transitive dice. Its input and output both need tinkering with, but shy of that it's pretty good. You'll need GHC version 6 to compile and run the code.
Here's a set of 3 dice it just produced.
[1,5,3,3,3,3] [2,6,2,2,2,6] [1,1,5,4,4,5]
For any two adjacent dice (wrapping around), the higher one will defeat the lower one on 20 of 36 rolls.
These dice are worse than the BoingBoing ones because the edge is small (20/36) and there are ties. It's better, though, because these are dice with just the numbers 1..6 on them, and just a set of 3 and somewhat randomized. YMMV.
Remember, no taking folks' hard-earned money away from them. Other than that, have fun. (B)