Как использовать MonadRandom?

Может ли кто-нибудь предоставить пример «для чайников» о том, как использовать MonadRandom?

В настоящее время у меня есть код, который выполняет такие вещи, как передача переменной генератора полностью из основной функции:

 main = do
     g <- getStdGen
     r <- myFunc g
     putStrLn "Result is : " ++ show r

 --my complicated func
 myFunc g x y z = afunc g x y z
 afunc g x y z = bfunc g x y
 bfunc g x y = cfunc g x
 cfunc g x = ret where
       (ret, _ ) = randomR (0.0, 1.0) g

Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос