I wrote this Gen to generate lines of texts without \NUL and \n:

    fullLinesProp = forAll linesGen ...

    linesGen = listOf . listOf $ arbitrary `suchThat` (`notElem`
['\NUL', '\n'])
    -- alternatively:
    linesGen = arbitrary `suchThat` (all (all (`notElem` ['\NUL', '\n'])))

However, I just realized that QuickCheck disables shrinking when I use
this instead of (linesGen = arbitrary :: Gen [String]).

Why is that? Is there a way to get what I want + shrinking without
defining a custom shrink (e.g. forAllShrink)?

Thanks

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to