[Haskell-beginners] Randomness, lists, and unfoldr
Alex Rozenshteyn
rpglover64 at gmail.com
Mon Sep 13 14:42:49 EDT 2010
I'm trying to build a list where each entry depends on the previous one.
Unfoldr seemed like a good idea at the time.
Unfortunately, my values are monadic values (specifically RVars, from the
random-fu package). Okay, shouldn't be a problem; I just monadic bind
and...
> -- example code
> updateCell :: Bool -> RVar Bool
> updateCell False = return False
> updateCell True = bernoulli (0.9 :: Double)
> sim = sequence $ take 20 $ unfoldr (\x -> Just (x, x >>= updateCell))
(return True)
> runRVar sim DevURandom
[True,True,True,True,True,False,True,False,True,False,False,False,False,False,False,True,True,False,False,False]
That output shouldn't be possible if I'm doing things right... It appears
that each cell has an independent history. I'm stumped.
Advice on threading monad input in general and random-fu in specific would
be appreciated.
--
Alex R
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/beginners/attachments/20100913/0bf742f4/attachment.html
More information about the Beginners
mailing list