[Haskell-cafe] Re: String vs ByteString

Bryan O'Sullivan bos at serpentine.com
Fri Aug 13 11:57:36 EDT 2010

2010/8/13 Gábor Lehel <illissius at gmail.com>

> How about the case for text which is guaranteed to be in ascii/latin1?
> ByteString again?

If you know it's text and not binary data you are working with, you should
still use Data.Text. There are a few good reasons.

   1. The API is more correct. For instance, if you use Text.toUpper on a
   string containing latin1 "ß" (eszett, sharp S), you'll get the
   two-character sequence "SS", which is correct. Using Char8.map Char.toUpper
   here gives the wrong answer.
   2. In many cases, the API is easier to use, because it's oriented towards
   using text data, instead of being a port of the list API.
   3. Some commonly used functions, such as substring searching, are
*way*faster than their ByteString counterparts.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20100813/269a35d9/attachment.html

More information about the Haskell-Cafe mailing list