QuickCheck-safe reimplements the quickCheck functionality with a pure interface and a very small trusted base (see Test.QuickCheck.Safe.Trusted).
uses the existing Arbitrary instances
implemented features: testing, result minimization (i.e., shrinking)
missing features: expected failures, label frequencies, coverage
The package is targeted at users who want to leverage SafeHaskell for sandboxing.
putStr $ quickCheck (inventQCGen ()) (\x -> length (x :: [()]) < 10)
*** Failed! Falsifiable (after 18 tests and 3 shrinks):
* compatibility with QuickCheck 2.10
* compatibility with QuickCheck 2.9
* compatibility with QuickCheck 2.7
* initial release