Mike Gunter wrote: > I'd like to use QuickCheck on IO code. For instance, I'd like to > check a property of type String -> IO Bool. > > Using unsafePerformIO seems straightforward (though I haven't written > the code, so I may be wrong about that) and it might be possible to > make a solution involving unsafeInterleaveIO work. Short of rewriting > QuickCheck, is there any way to check IO code "safely"?
To use QuickCheck on IO you would need an instance of Arbitrary that can generate arbitrary states of the world :) If you ignore that you could, for example, make tests that depends on some files existing outside the program. To me that sounds like a bad idea, or at least outside the realm of QuickCheck.
Twan _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
