[Haskell-cafe] the purpose of QuickCheck's size parameter

Petr Pudlák petr.mvd at gmail.com
Thu Jun 14 20:20:18 UTC 2018


Hi everyone,

I'd like to better understand the principles behind the 'size' parameter.
Looking at quickCheckWithResult [1], its computation seems to be somewhat
non-trivial, or even arbitrary. As far as I understand it, the size is
varied throughout tests, increasing from small to larger values. I see two
main purposes:

- Test on smaller as well as larger values. But with generators having
proper distribution of values, this should happen anyway, just as if we had
a constant, larger 'size' parameter.
- Starting with smaller sizes allows to find smaller count-examples first.
But with shrinking, it doesn't matter that much, big counter-examples are
shrunk to smaller ones anyway in most cases.

So is this parameter actually necessary? Would anything change considerably
if it was dropped?

Thanks,
Petr

[1]
http://hackage.haskell.org/package/QuickCheck-2.11.3/docs/src/Test-QuickCheck-Test.html#quickCheckWithResult
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20180614/b485dfc4/attachment.html>


More information about the Haskell-Cafe mailing list