
I think it's more complicated because he doesn't know what the return type or arity of the function is. In QuickCheck they know the return type of a property is Bool. In this case, we only know that the return type is an instance of Show. I don't think that's enough to simply implement this. On Sunday, January 13, 2013, Stephen Tetley wrote:
Yes - I was just checking the first QuickCheck paper to see how the authors did this.
You would need a new type class that works like `Testable` and the versions of associated machinery `forAll` and `evaluate` to unroll function application.
On 13 January 2013 09:28, Roman Cheplyaka
javascript:;> wrote: This can be done with relatively simple type class hackery. In fact, QuickCheck already does that in order to generate arguments and print them in case of failure.
Roman
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org javascript:; http://www.haskell.org/mailman/listinfo/haskell-cafe