haskell
An efficient packed, immutable Unicode text type (both strict and
lazy), with a powerful loop fusion optimization framework.
The 'Text' type represents Unicode character strings, in a time and
space-efficient manner. This package provides text processing
capabilities that are optimized for performance critical use, both
in terms of large data quantities and high speed.
The 'Text' type provides character-encoding, type-safe case
conversion via whole-string case conversion functions. It also
provides a range of functions for converting 'Text' values to and from
'ByteStrings', using several standard encodings.
Efficient locale-sensitive support for text IO is also supported.
These modules are intended to be imported qualified, to avoid name
clashes with Prelude functions, e.g.
> import qualified Data.Text as T
To use an extended and very rich family of functions for working
with Unicode text (including normalization, regular expressions,
non-standard encodings, text breaking, and locales), see
the @text-icu@ package:
<http://hackage.haskell.org/package/text-icu>
bos/text