I found the code at: http://www.cs.chalmers.se/~rjmh/QuickCheck/QuickCheckM.hs The only deconstructor there for PropertyM requires a "run" function of type m Property -> Property. For IO, run is unsafePerformIO. -m Malcolm Wallace <Malcolm.Wallace@cs.york.ac.uk> writes:
Mike Gunter <m@ryangunter.com> wrote:
I'd like to use QuickCheck on IO code. For instance, I'd like to check a property of type String -> IO Bool.
Barring that, I suspect it's possible modify QuickCheck to accommodate IO code (or perhaps, general monadic code). Has anyone done this?
Yes, the original authors have. See:
"Testing Monadic Code with QuickCheck" Koen Claessen and John Hughes Haskell Workshop 2002
Regards, Malcolm _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe