On Mon, 16 Aug 2004 09:01:45 -0700 (PDT), Ron de Bruijn <[EMAIL PROTECTED]> wrote: > I was playing with QuickCheck and I just wanted to put > all of my tests in a list, but that's not possible, > because of the fact that a list can only contain > values of the same type. > > So concrete I would like to write down this: > > prop_RevRev xs = reverse (reverse xs) == xs > where types = xs::[Int] > > --trivial test > prop_Simple = True == True > > whatIwant::(Testable a)=>[a] > whatIwant = [prop_RevRev, prop_Simple] > > testAll::IO () > testAll = do sequence_ $ map quickCheck whatIwant
> I saw this page: > http://www.haskell.org/hawiki/ExistentialTypes > > but you still have to explicitly add the relation via > Obj (and that's bad). Well, if you write data Test = forall a. Testable a => Test a instance Testable Test where property (Test x) = property x you at least get the "unwrapping" for free, and can write things like mapM_ quickCheck [Test prop_revrev, Test prop_trivial, Test prop_something] Regards, Martin _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
