2009/7/7 Matthias Görgens <matthias.goerg...@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 semantics. I blogged about this a while ago: http://lukepalmer.wordpress.com/2009/01/17/use-monadrandom/ Luke
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe