<div>I am trying to use quickcheck to generate random arguments of a given function (assuming all its types have Arbitrary instance and Show instance) along with the evaluation of the function at those arguments.</div><div>
<br></div><div>Suppose I have a function </div><div>    </div><div>    add :: Int -&gt; Int -&gt; Int</div><div>    add a b = a+b</div><div><br></div><div>Then I assume a behavior like </div><div><br></div><div>    &gt; randomEvaluate add</div>
<div>    ([&quot;1&quot;,&quot;3&quot;],&quot;4&quot;)</div><div><br></div><div>where 1 and 3 are random values generated for `Int` and 4 is `f 1 3`.  </div><div><br></div><div>I have asked this on <a href="http://stackoverflow.com/questions/14294802/evaluating-function-at-random-arguments-using-quickcheck">SO</a> but am not fully satisfied with the answers.</div>
<div><br></div><div>-Satvik</div><div><br></div>