I encountered the following code :
-- B == Data.ByteString ; L == Data.ByteString.Lazy
contents' = B.intercalate B.empty $ L.toChunks contents
with a previously unencountered function intercalate. A quick google query later i knew that it's just intersperse & concat nicely bundled and started wondering why anybody would do this, as simple
contents' = B.concat $ L.toChunks contents
would do (probably nearly) the same. The only thing I am able to come up with is that it somehow helps streamline the memory usage (if it has some meaning).
Is there some reason to use intercalate <empty> <list> instead of concat <list> (probably when dealing with non-lazy bytestrings) ?
Thx, wman.