Re: [Haskell-cafe] The question of ByteString

2007-11-05 Thread Jules Bean
Brandon S. Allbery KF8NH wrote: On Nov 3, 2007, at 5:34 , Andrew Coppin wrote: (BTW, anybody have any clue what's happening with stream fusion? I remember reading the paper saying hey, this is how it works and it's cool and we're going to try to replace the whole list library with new

Re: [Haskell-cafe] The question of ByteString

2007-11-03 Thread Andrew Coppin
Duncan Coutts wrote: On Fri, 2007-11-02 at 21:35 +, Andrew Coppin wrote: Well OK, maybe I was a little vague. Let me be a bit more specific... If you do text processing using ByteString rather than String, you get dramatically better performance in time and space. For me, this raises

Re: [Haskell-cafe] The question of ByteString

2007-11-03 Thread Paul Johnson
Andrew Coppin wrote: Duncan Coutts wrote: Yes, the semantics are different. ByteString is stricter. In some circumstances you could discover that some list is being used sufficiently strictly (spine and element strict) that you could do a representation change to use strict arrays. It is

Re: [Haskell-cafe] The question of ByteString

2007-11-03 Thread Brandon S. Allbery KF8NH
On Nov 3, 2007, at 5:34 , Andrew Coppin wrote: (BTW, anybody have any clue what's happening with stream fusion? I remember reading the paper saying hey, this is how it works and it's cool and we're going to try to replace the whole list library with new stream implementations, but that's

[Haskell-cafe] The question of ByteString

2007-11-02 Thread Andrew Coppin
Somewhat related to the discussions about Haskell's performance... String. ByteString. Do we really need both? Can one replace the other? Why is one faster? Can't we make *all* lists this fast? [insert further variations here] Thoughts? ___

Re: [Haskell-cafe] The question of ByteString

2007-11-02 Thread Andrew Coppin
Tim Chevalier wrote: On 11/2/07, Andrew Coppin [EMAIL PROTECTED] wrote: Somewhat related to the discussions about Haskell's performance... String. ByteString. Do we really need both? Can one replace the other? You can't get rid of String because a String is just a [Char]. Requiring

Re: [Haskell-cafe] The question of ByteString

2007-11-02 Thread Tim Chevalier
On 11/2/07, Andrew Coppin [EMAIL PROTECTED] wrote: 1. Why do I have to type ByteString in my code? Why isn't the compiler automatically performing this optimisation for me? (I.e., is there some observable property that is changed? Currently the answer is yes: the ByteString interface only

Re: [Haskell-cafe] The question of ByteString

2007-11-02 Thread Andrew Coppin
Tim Chevalier wrote: I don't think there's a deep theoretical reason why this doesn't exist, but I also don't think it's necessarily *just* a matter of no one having had time yet. As always, there are trade-offs involved, and people try to avoid introducing *too* many special cases into the

Re: [Haskell-cafe] The question of ByteString

2007-11-02 Thread Bryan O'Sullivan
Andrew Coppin wrote: 1. Why do I have to type ByteString in my code? Why isn't the compiler automatically performing this optimisation for me? One reason is that ByteString is stricter than String. Even lazy ByteString operates on 64KB chunks. You can see how this might lead to problems

Re: [Haskell-cafe] The question of ByteString

2007-11-02 Thread Brandon S. Allbery KF8NH
On Nov 2, 2007, at 17:35 , Andrew Coppin wrote: These are the things I'm thinking about. Is there some deep theoretical reason why things are the way they are? Or is it merely that nobody has yet had time to make something better? ByteString solves the problem of text strings (and raw

Re: [Haskell-cafe] The question of ByteString

2007-11-02 Thread Duncan Coutts
On Fri, 2007-11-02 at 21:35 +, Andrew Coppin wrote: Well OK, maybe I was a little vague. Let me be a bit more specific... If you do text processing using ByteString rather than String, you get dramatically better performance in time and space. For me, this raises a number of