-- QuickCheck >2.7 includes the function -- -- generate :: Gen a -> IO a -- -- which can be used to run a QuickCheck generator as an IO instruction. -- -- But the latest Haskell platform comes with QuickCheck 2.6. This module shows -- how to define generate in QuickCheck 2.6. import System.Random import Test.QuickCheck import Test.QuickCheck.Gen generate :: Gen a -> IO a generate g = do seed <- newStdGen return (unGen g seed 10) test = do a <- generate (arbitrary :: Gen Int) b <- generate (arbitrary :: Gen Int) c <- generate (arbitrary :: Gen Int) sequence_ $ map print [a,b,c]