On Friday 21 October 2005 20:14, Udo Stenzel wrote: > Benjamin Franksen wrote: > > I am asking help with using QuickCheck. I tried everything I could > > think of, but invariably as soon as I start invoking the quickCheck > > function on my property it fails with > > > > No instances for (Arbitrary (OrdSeq Int), Show (OrdSeq Int)) > > You need to define an `instance Arbitrary (OrdSeq Int)' for > QuickCheck to be able to generate test data. `instance Show (OrdSeq > Int)' is needed so the offending example can be reported to you in > case some test fails. You should believe your compiler when it tells > you > > > add an instance declaration for (Arbitrary (OrdSeq Int), Show > > (OrdSeq Int)) > > ;-) > > > "No instance for (Show (IO ()))..." > > I think, this is an artefact of unresolved overloading or missing > instances. Somehow GHCi attaches an unnecessary implicit `print'. > When I played with QuickCheck, this error went away as soon as the > rest of the expression type checked.
Many thanks! I wish I had remembered that I had this kind of problem before: ghc reports two errors, of which the /second/ one is the 'real' problem and the first one is just a by-product. This practically never happens with C compilers which I (must, sadly) use every day and thus I always tend to disregard all error messages but the first. And now as I think of it, it would indeed be quite hard for QuickCheck to guess hwo to generate my OrdSeqs. Ben _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe