[Haskell-cafe] Is Haskell capable of matching C in string
jmillikin at gmail.com
Fri Jan 22 12:40:58 EST 2010
Correct me if I'm wrong, but ByteStrings can't contain non-ASCII
values, right? I'm looking for something like this pseudo-C:
typedef void (*Callback)(const uint32_t *chars, size_t n_chars, void *);
WriterState *new_state (Callback, void *);
I tried using the Text type, but its conversions to Ptr Word16 are all
O(n) -- not much better than String.
On Thu, Jan 21, 2010 at 22:28, Don Stewart <dons at galois.com> wrote:
>> Here's the fastest Haskell version I could come up with. It discards
>> all error handling, validation, and correctness in the name of
>> performance, but still can't get anywhere near C:
> Thanks for posting the code.
> You're not using bytestrings??
> They were invented to deal with the problem of [Char] being a poor
> structure for large scale string processing, and you should have no
> problem getting C-like string performance.
> -- Don
More information about the Haskell-Cafe