[Haskell-cafe] QuickChecking IO

Mike Gunter m at ryangunter.com
Thu May 25 11:16:36 EDT 2006

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"?

Barring that, I suspect it's possible modify QuickCheck to accommodate
IO code (or perhaps, general monadic code).  Has anyone done this?


More information about the Haskell-Cafe mailing list