[Haskell-cafe] Implementing Las Vegas algorithms in Haskell
lrpalmer at gmail.com
Tue Jul 7 04:59:10 EDT 2009
2009/7/7 Matthias Görgens <matthias.goergens at googlemail.com>
> >> What I wondered was, if one could hid the random plumbing in some data
> >> structure, like the state monad, but less linear.
> > This problem cries for a State monad solution - but you don't need to
> > do it yourself, there's already a Random monad defined for you.
> Yes, but I only need the random values inside splitOnMedia. The rest
> is just non-linear plumbing. We do not know beforehand how many
> random values a branch quicksort will consume --- neither do we ware
> about the state of the random generator at the end. Do you consider
> the RandomMonad the best fit?
Random monad is a very natural choice for "random cloud" computations.
Don't think of it as a state monad -- that's an implementation detail. You
can think of a value of type Random a as a "probability distribution of
a's"; and there are natural definitions for the monad operators on this
I blogged about this a while ago:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe