Thank you all, (you are responding so quick that I consider to stop thinking myself in the future and just ask). Jürgen
Am Donnerstag, den 26.08.2010, 00:02 -0400 schrieb Edward Z. Yang: > Excerpts from Jürgen Nicklisch-Franken's message of Wed Aug 25 23:32:51 -0400 > 2010: > > instance Arbitrary QCExample where > > arbitrary = > > let i1 = arbitrary > > i2 = fmap (* 2) i1 > > in liftM2 QCExample i1 i2 > > What's happening here is that you are "evaluating" the random value generator > too late in the game: when you set i1 = arbitrary, no random value has been > generated yet, and i2 is thus another generator which has no relation to > what i1 might produce. You could instead do this: > > arbitrary = do > i1 <- arbitrary > let i2 = i1 * 2 > return (QCExample i1 i2) > > Cheers, > Edward _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
