
On Fri, 3 Sep 2004 01:35:45 +0100, Jorge Adriano Aires
Not sure which part is not clear... I'll just try to explain each of them. Lets say I'm implementing a generators for Graphs.
Also, even when I'm implementing a generator, I want to see how it is working. I want to check if the generated Graphs are like I intended them to be.
Running a verboseCheck on some dummy property helps, but I may verboseCheck by default prints all the data. I can run it on a dummy function that always returns True to see what kind of data I'm getting.
want to analyse the data, or some parts of it better May want to print the 'actual graphs' on the screen (ASCII art, or maybe using some function that calls Gnuplot). Then I may want to check in more detail the info in contained in some of the nodes. Then I may decide to run some functions on it.
many data structures I have alternative "show" functions that take parameters as arguments. Like I just said, I may want to "show" the graph in many ways.
But there are more possibilities. Why limitate the usefulness of QuickCheck? Suppose I just implemented generators for a few kinds of terms and formulas to test some properties. Now I want to benchmark a couple of different unification functions... I'd expect to be able to use my generator for that. Unless I'm missing something, I cannot. Am I right?
The generate function is exported: generate :: Int -> StdGen -> Gen a -> a Regards, Martin