Proposal: Add NFData instances for strict and lazy ByteStrings

Bas van Dijk v.dijk.bas at gmail.com
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)

Bas
-------------- 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: <http://www.haskell.org/pipermail/libraries/attachments/20111026/74fd4fef/attachment.bin>


More information about the Libraries mailing list