[Haskell-cafe] intercalate and (byte)strings

wman 666wman at gmail.com
Tue Dec 23 10:06:38 EST 2008


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
<duncan.coutts at worc.ox.ac.uk>wrote:

> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20081223/17cb0f87/attachment.htm


More information about the Haskell-Cafe mailing list