Text
es una alternativa más eficiente al tipo de String
estándar de Haskell. String
se define como una lista enlazada de caracteres en el Preludio estándar, según el Informe Haskell :
type String = [Char]
Text
se representa como una matriz empaquetada de caracteres Unicode. Esto es similar a cómo la mayoría de los otros lenguajes de alto nivel representan cadenas, y ofrece una eficiencia de tiempo y espacio mucho mejor que la versión de lista.
Text
debe ser preferido sobre la String
para todo el uso de producción. Una excepción notable depende de una biblioteca que tenga una API de String
, pero incluso en ese caso puede ser beneficioso utilizar el Text
internamente y convertirlo a una String
justo antes de interactuar con la biblioteca.
Todos los ejemplos en este tema usan la extensión de lenguaje OverloadedStrings
.