[Haskell] ANN: SmallCheck 0.3

Colin Runciman colin at cs.york.ac.uk
Tue May 6 07:38:24 EDT 2008

SmallCheck 0.3: another lightweight testing library in Haskell

A new version of SmallCheck can be obtained from:


Main differences from 0.2:
* existential quantifiers now have unique variants for which two
   witnesses are reported when uniqueness fails;
* the over-generating coseries method for functions of functional
   arguments has been replaced;
* additional examples;
* test counters are now Integers, not Ints!

SmallCheck is similar to QuickCheck (Claessen and Hughes 2000-) but
instead of testing for a sample of randomly generated values, SmallCheck
tests properties for all the finitely many values up to some depth,
progressively increasing the depth used.

         Folk-law: if there is any case in which a program
         fails, there is almost always a simple one.

         Corollary: if a program does not fail in any
         simple case, it almost never fails.

Other possible sales pitches:
* write test generators for your own types more easily
* be sure any counter-examples found are minimal
* write properties using existentials as well as universals
* establish complete coverage of a defined test-space
* display counter-examples of functional type

Comments and suggestions welcome.

Colin Runciman

More information about the Haskell mailing list