Haskell 98 random number libraries are based on a class of random number generators with two methods,
However, QuickCheck assumes a much stronger property of split, namely that all the generators produced by splitting a single seed an arbitrarily large (but not too large) number of times are independent. Thus one can obtain n+1 independent generators by using split n times.
Some distributed implementations of the random number library do not have this property. In particular, some versions of split return the argument as one of the two results. Although this meets the requirements in the standard, it means that splitting a generator n times can produce n identical generators. QuickCheck does not work in this case.
QuickCheck has been developed using Hugs, but it does not work with every version. The November 1999 release of Hugs contains an improved random number library which works well. Older versions are likely to cause problems. So if you have trouble of this sort, download the newest version of Hugs.