testing-feat-0.2: Functional enumeration for systematic and random testing

Safe HaskellSafe-Infered



Anexperimental feature to override the Enumerable instance for any type.



override :: Enumerable a => Override -> Enumerate aSource

This function is best described with an example:

    let e1 = override $ addOverride (unary printable) noOverride :: Enumerate T

e1 enumerates values of type T where all characters (accessed using the Enumerable instance for Char) are printable. Sometimes this can save you from placing lots of printable modifiers in your instances or newtypes in your data type definitions.

This works for any type (not just characters) as long as the instance does not override the default definition of shared so it does not use tagShare (no instance in the library does this).This function should not be used for defining instances (doing so might increase memory usage).