Czy ktoś może podać "for-dummies" przykład użycia `MonadRandom '?Jak korzystać z MonadRandom?
Obecnie mam kod, który robi takie rzeczy przechodząc wokół zmiennej generatora, całą drogę od głównej funkcji:
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
Thanks
Myślę, że pomieszałeś 'runRand' i' evalRand'! – dflemstr
Nie jestem pewien, jak to się stało, ponieważ uruchomiłem kod :) Naprawiono teraz. – porges
Oczywiście, 'myFunc',' aFunc', 'bFunc' i' cFunc' są teraz monadyczne. Zwracają wartości zawinięte w monadę 'Rand', które muszą być wyodrębnione za pomocą' >> = '(lub' <-' w 'do') i utworzone za pomocą' return'. – pat