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 <r...@ro-che.info <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 >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe