
The choice of what belongs to what depth is rather arbitrary. You say you'd expect all three constructors to be of depth 0. What about data A = A1 .. A50 ? What about Char or Int? See the problem? On 05/02/15 03:23, Omari Norman wrote:
The original SmallCheck paper [0] gives a type
data Name = P | Q | R
and states that all values of type Name have depth 0. To me this suggests that all values of type Bool would have depth 0 as well, seeing as Bool would simply be
data Bool = True | False
Sure enough, if I load up ghci with SmallCheck 0.2.1, I get
series 0 :: [Bool] [True, False]
But in QuickCheck 1.1.1 I get
list 0 series :: [Bool] []
Very puzzling to me is that it seems the definition of series for Bool has not changed in the new version. Both versions have something like
series = cons0 True \/ cons0 False
So what explains the different behavior? Thanks. --Omari
[0] http://www.cs.york.ac.uk/fp/smallcheck/smallcheck.pdf _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe