text: An efficient packed Unicode text type.

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]


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 (see Data.Text). It also provides a range of functions for converting Text values to and from ByteStrings, using several standard encodings (see Data.Text.Encoding).

Efficient locale-sensitive support for text IO is also supported (see Data.Text.IO).

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 based on the well-respected and liberally licensed ICU library.

[Skip to Readme]


Versions 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Change log changelog.md
Dependencies array (>=0.3), base (>=4.2 && <5), binary, bytestring (>=0.9), bytestring-builder (>=0.10.4), deepseq (>=, ghc-prim (>=0.2), integer-gmp (>=0.2), integer-simple (>=0.1 && <0.5) [details]
License BSD-2-Clause
Copyright 2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper
Author Bryan O'Sullivan <bos@serpentine.com>
Maintainer Bryan O'Sullivan <bos@serpentine.com>
Category Data, Text
Home page https://github.com/haskell/text
Bug tracker https://github.com/haskell/text/issues
Source repo head: git clone https://github.com/haskell/text
head: hg clone https://bitbucket.org/bos/text
Uploaded by HerbertValerioRiedel at 2017-12-27T15:22:03Z





Depend on the bytestring-builder package for backwards compatibility.


operate in developer mode


Use the simple integer library instead of integer-gmp


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


Maintainer's Corner

For package maintainers and hackage trustees

Readme for text-

[back to package description]

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.

Please refer to the package description on Hackage for more information.

Get involved!

Please report bugs via the github issue tracker.

Master git repository:

There's also a Mercurial mirror:

(You can create and contribute changes using either Mercurial or git.)


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 bos@serpentine.com, and he is the current maintainer.