[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

> -- 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

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