The text package

[Tags: bsd3, library]

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 (see the text-icu package for a much larger variety of encoding functions).

Efficient locale-sensitive support for text IO is also supported.

This module is intended to be imported qualified, to avoid name clashes with Prelude functions, e.g.

 import qualified Data.Text as T

[Skip to ReadMe]


Versions0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Change logNone available
Dependenciesbase (<4.4), bytestring (>=0.9 && <1.0), deepseq (>= && <1.4), extensible-exceptions, ghc-prim [details]
Copyright2008-2009 Tom Harper, 2009-2010 Bryan O'Sullivan
AuthorTom Harper <>
MaintainerBryan O'Sullivan <> Tom Harper <> Duncan Coutts <>
CategoryData, Text
Home page
Source repositoryhead: darcs get
UploadedMon Oct 4 03:05:05 UTC 2010 by BryanOSullivan
UpdatedTue Dec 30 09:42:27 UTC 2014 by HerbertValerioRiedel to revision 2
DistributionsDebian:, Fedora:, FreeBSD:, LTSHaskell:, NixOS:, Stackage:
Downloads301024 total (1741 in last 30 days)
0 []
StatusDocs uploaded by user
Build status unknown [no reports yet]




developeroperate in developer modeDisabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainers' corner

For package maintainers and hackage trustees

Readme for text-

Text: Fast, packed Unicode strings, using stream fusion

This package provides the Data.Text library, a library for the space-
and time-efficient manipulation of Unicode text in Haskell.

Normalization, conversion, and collation, oh my!

This library intentionally provides a simple API based on the Haskell
prelude's list manipulation functions.  For more complicated
real-world tasks, such as Unicode normalization, conversion to and
from a larger variety of encodings, and collation, use the text-icu

That library uses the well-respected and liberally licensed ICU
library to provide these facilities.

Source code

darcs get

Reporting bugs, asking for enhancements


The base code for this library was originally written by Tom Harper,
based on the stream fusion framework developed by Roman Leshchinskiy,
Duncan Coutts, and Don Stewart.

The core library was fleshed out, debugged, and tested by Bryan
O'Sullivan, and he is the current maintainer.