
Thank you, guys, i somehow got the impression that there has to be some
meaning to this. It seemed unprobable, but why would anybody write it like
that if there weren't some reason to it ? ;-)))
Have a nice holidays, btw.
Cheers, wman.
On Tue, Dec 23, 2008 at 3:21 PM, Duncan Coutts
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