
Everyone, I want to run an QuickCheck on "a most simple" IO monad. When I compile and run :main, it says: ....................................................................................................+++ OK, passed 100 tests. Well, thats fine, since *1 mapped on any Int gives the same Int back. But it lasts 10 seconds (!) for doing those 100 Tests. Something must be wrong?! I'd appreciate your ideas. Hartmut module MonadicQuickCheck where import IO import Random import Test.QuickCheck import Test.QuickCheck.Monadic main = do quickCheck x x :: Property x = monadicIO $ do a <- pick arbitrary pre $ not(null a) b <- run $ testfunction a assert $ b == a testfunction :: [Int] -> IO [Int] testfunction x = do putStr "." return $ map (*1) x