
New patches:

[make coarbitrary for Integer work for large values
Susumu Katayama <skata@cs.miyazaki-u.ac.jp>**20061124112551
 This patch makes coarbitrary for Integer work and run in logarithmic time, and thus makes coarbitrary for Double and Float usable.
] {
hunk ./Test/QuickCheck.hs 173
-  coarbitrary n = variant (fromInteger (if n >= 0 then 2*n else 2*(-n) + 1))
+  coarbitrary n = newvariant n
+
+logvariant, newvariant :: Integral i => i -> Gen a -> Gen a
+logvariant 0 = variant 0
+logvariant n | n > 0 = logvariant (n `div` 2) . variant (fromIntegral (n `mod` 2)) . variant 1
+             | otherwise = error "logvariant: negative argument"
+newvariant n | n >= 0    = logvariant n      . variant 0
+             | otherwise = logvariant (-1-n) . variant 1
}

Context:

[add Arbitrary instance for Maybe
Ross Paterson <ross@soi.city.ac.uk>**20061030123943] 
[Adding Arbitrary instance for Either
roconnor@theorem.ca**20061029222855] 
[add boilerplate Setup.hs
Ross Paterson <ross@soi.city.ac.uk>**20060928231525] 
[note CPP extension
Ross Paterson <ross@soi.city.ac.uk>**20060908233707] 
[remove obsolete Hugs stuff
Ross Paterson <ross@soi.city.ac.uk>**20060904224049] 
[Only import Control.Concurrent when using GHC
Einar Karttunen <ekarttun@cs.helsinki.fi>**20060308152124] 
[TAG Initial conversion from CVS complete
John Goerzen <jgoerzen@complete.org>**20060112154138] 
Patch bundle hash:
95579382c07e932f4f954887a45bb3e9037612f7
