stochastic-0.1.1.0: test/Swindler.hs
import Data.Stochastic
import Data.Stochastic.Internal
import Data.Stochastic.Types
import qualified Data.Sequence as S
import System.Random
swindler :: Int -> Bool
swindler i = i == 1
die :: Sampler Int
die = uniform [1, 2, 3, 4, 5, 6]
swindlersDice :: Sampler Bool
swindlersDice = do
s1 <- die
s2 <- die
s3 <- die
return (swindler s1 || swindler s2 || swindler s3)
main = do
gen <- newStdGen
let a = sampleN 100000 swindlersDice gen
print $ length $ S.filter id a
print $ length $ S.filter (not . id) a