What is a shrink, with regard to Haskell's QuickCheck?
问题 I'm learning the ropes of QuickCheck >= 2.6 but I don't understand what a shrink is. From looking at the type signature shrink looks more like expand! Please illuminate me :) 回答1: When QuickCheck finds an input that violates a property, it will first try to find smaller inputs that also violate the property, in order to give the developer a better message about the nature of the failure. What it means to be „small“ of course depends on the datatype in question; to QuickCheck it is anything