Proposal: Add NFData instances for strict and lazy ByteStrings

Bas van Dijk v.dijk.bas at
Wed Oct 26 21:34:32 CEST 2011

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)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Add-NFData-instances-for-strict-and-lazy-ByteStrings.patch
Type: text/x-patch
Size: 2615 bytes
Desc: not available
URL: <>

More information about the Libraries mailing list