15 Aug
                
                    2012
                
            
            
                15 Aug
                
                '12
                
            
            
            
        
    
                8:11 p.m.
            
        Oh, this is silly. Of course it is: forAllShrink linesGen shrink ... On 15/08/12 20:35, Niklas Hambüchen wrote:
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