
Hey, Using quickcheck2 I want to generate test data, that is a tuple of integers where both elements are >=0 and < 8. So I am trying to write a modifier (in the sense of the modifiers found in Modifiers.hs): newtype ValidPos = ValidPos Pos deriving Show instance Arbitrary ValidPos where arbitrary = do x <- elements [0..7] y <- elements [0..7] return (ValidPos (x,y)) prop_dummy (ValidPos pos) = fst pos > 0 tests = [ testGroup "Tests" [ testProperty "dummy" prop_dummy ] ] main = defaultMain tests doing so gives me this error: No instance for (QuickCheck-2.4.2:Test.QuickCheck.Arbitrary.Arbitrary ValidPos) arising from a use of `testProperty' Possible fix: add an instance declaration for (QuickCheck-2.4.2:Test.QuickCheck.Arbitrary.Arbitrary ValidPos) In the expression: testProperty "dummy" prop_dummy In the second argument of `testGroup', namely `[testProperty "dummy" prop_dummy]' In the expression: testGroup "Tests" [testProperty "dummy" prop_dummy] I declared the instance, why canit not be found? Thanks! Nathan