Proposal: Add NFData instances for strict and lazy ByteStrings

Edward Z. Yang ezyang at MIT.EDU
Wed Oct 26 21:45:06 CEST 2011


+1

Excerpts from Bas van Dijk's message of Wed Oct 26 15:34:32 -0400 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



More information about the Libraries mailing list