Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Leaky program
{-# Language TupleSections #-}
import System.Random
import Data.Map (fromListWith,Map)
import Control.Arrow
randomStream 0 g = ([],g)
randomStream n g = (a:as,g'') where
(a,g') = randomR (0,100) g
(as,g'') = randomStream (n-1) g'
makeStats :: Int -> StdGen -> (Map Int Int, StdGen)
makeStats n g = first (fromListWith (+) . map (,1)) $ randomStream n g
main = getStdGen >>= print . makeStats 10000000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment