text: An efficient packed Unicode text type.

[ bsd2, data, library, text ] [ Propose Tags ]

An efficient packed, immutable Unicode text type (both strict and lazy).

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

ICU Support

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]

Flags

Manual Flags

NameDescriptionDefault
developer

operate in developer mode

Disabled
simdutf

use simdutf library, causes Data.Text.Internal.Validate.Simd to be exposed

Enabled
pure-haskell

Don't use text's standard C routines NB: This feature is not fully implemented. Several C routines are still in use. When this flag is true, text will use pure Haskell variants of the routines. This is not recommended except for use with GHC's JavaScript backend. This flag also disables simdutf.

Disabled

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

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.7.0.1, 0.7.1.0, 0.7.2.1, 0.8.0.0, 0.8.1.0, 0.9.0.0, 0.9.0.1, 0.9.1.0, 0.10.0.0, 0.10.0.1, 0.10.0.2, 0.11.0.0, 0.11.0.1, 0.11.0.2, 0.11.0.3, 0.11.0.4, 0.11.0.5, 0.11.0.6, 0.11.0.7, 0.11.0.8, 0.11.1.0, 0.11.1.1, 0.11.1.2, 0.11.1.3, 0.11.1.5, 0.11.1.6, 0.11.1.7, 0.11.1.8, 0.11.1.9, 0.11.1.10, 0.11.1.11, 0.11.1.12, 0.11.1.13, 0.11.2.0, 0.11.2.1, 0.11.2.2, 0.11.2.3, 0.11.3.0, 0.11.3.1, 1.0.0.0, 1.0.0.1, 1.1.0.0, 1.1.0.1, 1.1.1.0, 1.1.1.1, 1.1.1.2, 1.1.1.3, 1.1.1.4, 1.2.0.0, 1.2.0.2, 1.2.0.3, 1.2.0.4, 1.2.0.5, 1.2.0.6, 1.2.1.0, 1.2.1.1, 1.2.1.2, 1.2.1.3, 1.2.2.0, 1.2.2.1, 1.2.2.2, 1.2.3.0, 1.2.3.1, 1.2.3.2, 1.2.4.0, 1.2.4.1, 1.2.5.0, 2.0, 2.0.1, 2.0.2, 2.1, 2.1.1
Change log changelog.md
Dependencies array (>=0.3 && <0.6), base (>=4.10 && <5), binary (>=0.5 && <0.9), bytestring (>=0.10.4 && <0.13), data-array-byte (>=0.1 && <0.2), deepseq (>=1.1 && <1.6), ghc-prim (>=0.2 && <0.12), system-cxx-std-lib (==1.0), template-haskell (>=2.5 && <2.22) [details]
License BSD-2-Clause
Copyright 2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper, 2021 Andrew Lelechenko
Author Bryan O'Sullivan <bos@serpentine.com>
Maintainer Haskell Text Team <andrew.lelechenko@gmail.com>, Core Libraries Committee
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
Uploaded by Bodigrim at 2024-02-16T22:16:06Z
Distributions Arch:1.2.5.0, Fedora:2.0.2, FreeBSD:1.2.1.3
Reverse Dependencies 5431 direct, 9197 indirect [details]
Downloads 615189 total (834 in the last 30 days)
Rating 2.75 (votes: 25) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for text-2.1.1

[back to package description]

text Hackage Stackage LTS Stackage Nightly

Haskell library for space- and time-efficient operations over Unicode text.

Get involved!

Please report bugs via the github issue tracker.

The main repo:

git clone https://github.com/haskell/text

To run benchmarks please clone and unpack test files:

cd text
git clone https://github.com/haskell/text-test-data benchmarks/text-test-data
make -Cbenchmarks/text-test-data

Authors

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. Transition from UTF-16 to UTF-8 is by Andrew Lelechenko.