Proposal #3537: Add missing NFData instances to parallel

Roel van Dijk vandijk.roel at
Wed Sep 23 07:45:34 EDT 2009

Control.Parallel.Strategies contains many NFData instances for
types defined in base, but not all. I propose adding NFData
instances for all types in base where it makes sense.

The specific issue I had was with Data.Version. I wanted to 'rnf'
some type which contained a Version, but it had no instance for
NFData. The only solution is to add an instance in your own code,
where it doesn't really belong. Therefor I checked the base package
for other other types which also lacked an NFData instance.

I would like some feedback on the instances for STRef and
IORef. Does it make sense to have them? I used a trick to force
their evaluation since their constructors are not exported.

Discussion deadline: October 7

Roel van Dijk

More information about the Libraries mailing list