Provides QuickCheck implementations for common types distributed with GHC and in the Haskell Platform. The implementations are NOT provided through the QuickCheck Arbitrary and CoArbitrary typeclasses; instead, they are provided through ordinary, non-overloaded functions. This avoids problems with orphan instances.

Implementations are provided through child modules of the module that provides the original type. For example, for Data.Map, look under Data.Map.Generators, Data.Map.Shrinkers, and Data.Map.Coarbitrary. For instance, a function that generates a Map is at Data.Map.Generators.map, while a function providing a coarbitrary implementation is at Data.Map.Coarbitrary.map. Obviously this can lead to name conflicts, both between modules provided in this package and with other standard modules, so keep this in mind when you do your imports.

comments powered byDisqus