Typesafe thin wrapper around Data.Text
to make impossible to be empty (to
always hold at least on character)
- Typesafe wrapper around Text
-
Data.Text
↔Data.NonEmptyText
back and forth conversion. - Basic functions:
(un)cons
,head
,tail
,last
,length
- Text equivalent of
null
->isSingleton
.
-
Item
class instance - Transformations (most importantly
map
,intercalate
,reverse
) - Case conversions
- Justification
- Folds (especially, total
fold1
functions) - Scans
- Substrings
For now all of this can be done by calling toText
, however the Text
type
doesn't ensure that all of this functions return NonEmptyText
.
Another solution is to use fromText . <function> . toText
, but this forces
the programmer to handle the Nothing
case, which is for many of these functions
unnecessary.
text1
basically does the same
thing than this package, and even more. It's also a great package.
However text1 has a lot of dependencies, and use an alternative homebrewed prelude.
non-empty-text
is aiming towards a minimal, thin wrapper. The goal is to do
the same thing as the text
, with
only text
and base
as dependencies, no extension.