Proposal: free shrinking with QuickCheck

Bryan O'Sullivan bos at
Tue Nov 26 00:09:07 UTC 2013

On Mon, Nov 25, 2013 at 12:44 PM, Reid Draper <reiddraper at> wrote:

> My experience with both Erlang QuickCheck and simple-check (Clojure) is
> that it _is_ enough information. In the rare cases it's not, you can always
> still implement your own logic for shrinking by breaking the Gen
> abstraction (manipulating the RoseTree yourself).

It seems we're cautiously optimistic that this could work. I think the next
step is up to you.

If I were in your shoes, here's what I'd do: patch up QuickCheck to make
this change, and then for some fairly large handful of widely-used packages
on Hackage that have test suites, see how many of them can build more or
less unscathed, maybe with the shrink method still present in the typeclass
so that packages that define it don't have spurious build failures - and
then see how many test suites continue to work okay.

In other words, I think this is worth pursuing, and that the best way to
make progress on it is to try it and see how well it goes. That way, you
can come back armed with both a diff and evidence that it's good.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Libraries mailing list