
5 May
2010
5 May
'10
3:47 a.m.
I've notice a behaviour of quickcheck that is unexpected to me. With this code: import Test.QuickCheck main = check myconfig ((\v -> v == v) :: (Maybe Double,Maybe Double) -> Bool) myconfig = defaultConfig{configMaxTest=100000, configEvery = \n args -> show n ++ ":\n" ++ unlines args} I am relying on the default Arbitrary instances to generate pairs of maybe doubles. But to my surprise, all of the pairs have these patterns: (Just _ Just _) (Nothing, Nothing) I never see patterns: (Just _, Nothing) (Nothing, Just _) Why is this the case? Thanks, Tim