[Haskell] ANN: SmallCheck0.2

Colin Runciman colin at cs.york.ac.uk
Mon Nov 6 11:10:08 EST 2006

SmallCheck 0.2: another lightweight testing library in Haskell

A new version of SmallCheck can be obtained from:


Main differences from 0.1:
* choice of interactive or non-interactive test-drivers using
  iterative deepening;
* more pre-defined test-data generators, including revised
  Int, Integer, Float, Double, Nat and Natural.
* Additional examples.

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 R

More information about the Haskell mailing list