Bas van Dijk | 26 Oct 21:34 2011

Proposal: Add NFData instances for strict and lazy ByteStrings

While I was hunting for a space leak in the new hackage-server (still
haven't found it) I noticed strict and lazy ByteStrings don't have
NFData instances. I propose to add them because it enables users to
force ByteStrings in the principled way (using deepseq) so they don't
need to use tricks like: B.length b `seq` ...

instance NFData Strict.ByteString

instance NFData Lazy.ByteString where
    rnf Empty       = ()
    rnf (Chunk _ b) = rnf b

Note that the containers dependency of deepseq was recently dropped so
depending on that package is not a big issue anymore.

Discussion deadline: 2 weeks from now (9 November)

Libraries mailing list
Libraries <at>