[QuickCheck] Status of Haskell Platform 2014.2.0.0

Nick Smallbone nicsma at chalmers.se
Sun Jul 20 23:30:35 UTC 2014


Hi Mark,

On Tuesday 15 July, 2014 at 06:44 am, Mark Lentczner wrote:
> Unsure:
> 
>    - Not sure if you want QuickCheck 2.7.5 rather than 2.6 -- cc'ing
>    QuickCheck devs: Would they like to weigh in?

I've uploaded version 2.7.6 which fixes a bug in 2.7.5, BTW.

But, as I recall, the problem with QC 2.7 and HP was that we now
depend on the tf-random package for random number generation. If I
understand correctly this was a showstopper from your point of view,
because of tf-random's newness and potential instability.

The stability of tf-random doesn't bother me because it's a purely
internal dependency of QuickCheck - unless you really dig into the
guts of QC you won't find any trace of tf-random, and you certainly
don't need to use its API. However, I totally understand that if
tf-random got added to the HP, people might start using it outside of
QC, and then it would be a problem!

I think this change was something we had to do - we've known about the
bug in StdGen for almost five years now and at some point we have to
give up on it being fixed and switch away. So I'm quite philosophical
if we can't get the latest QC in the Platform this time around.
However, there should be a plan for getting it into the next release
at least. Here are some possibilities:

1. We make sure that tf-random becomes stable and hope it can be
   included in the next version of the platform.

2. We add a simple TFGen-inspired generator directly to QuickCheck.

3. We fix StdGen by replacing it with a TFGen-inspired implementation.

Number 3 would be best for everyone, but if it doesn't happen maybe
option 2 is the most pragmatic one.

Nick


More information about the Libraries mailing list