
On Tue, 2008-12-23 at 05:21 +0100, wman wrote:
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) ?
I cannot see any advantage. I would be extremely surprised if the more obscure version was faster. Duncan