text-short-0.1.2: Memory-efficient representation of Unicode text strings

Copyright© Herbert Valerio Riedel 2018
LicenseBSD3
Maintainerhvr@gnu.org
Stabilitystable
Safe HaskellTrustworthy
LanguageHaskell2010

Data.Text.Short.Partial

Description

Partial functions vocabulary

This module provides common partial functions for operating on ShortText.

The use of these functions is discouraged as they tend to be error-prone.

Since: 0.1.2

Synopsis

Documentation

head :: ShortText -> Char #

\(\mathcal{O}(1)\) Returns first character of a non-empty ShortText

>>> head "abcd"
'a'

Note: Will throw an error exception for empty ShortTexts. Consider using the total functions uncons or indexMaybe instead.

Since: 0.1.2

tail :: ShortText -> ShortText #

\(\mathcal{O}(n)\) Drop first character from non-empty ShortText.

>>> tail "abcd"
"bcd"

Note: Will throw an error exception for empty ShortTexts. Consider using the total functions uncons or drop instead.

Since: 0.1.2

init :: ShortText -> ShortText #

\(\mathcal{O}(n)\) Drop last character from non-empty ShortText.

>>> tail "abcd"
"bcd"

Note: Will throw an error exception for empty ShortTexts. Consider using the total functions unsnoc or dropEnd instead.

Since: 0.1.2

last :: ShortText -> Char #

\(\mathcal{O}(1)\) Return last character from non-empty ShortText.

>>> last "abcd"
'd'

Note: Will throw an error exception for empty ShortTexts. Consider using the total functions unsnoc or indexEndMaybe instead.

Since: 0.1.2

index :: ShortText -> Int -> Char #

\(\mathcal{O}(n)\) Retrieve \(i\)-th character (code-point)

>>> index "abcd" 1
'b'

Note: Will throw an error exception if index is out of bounds. Consider using the total functions indexMaybe or indexEndMaybe instead.

Since: 0.1.2

foldl1 :: (Char -> Char -> Char) -> ShortText -> Char #

\(\mathcal{O}(n)\) Reduces the characters of the ShortText with the binary operator.

>>> foldl1 max "abcdcba"
'd'
>>> foldl1 const "abcd"
'a'
>>> foldl1 (flip const) "abcd"
'd'

Note: Will throw an error exception if index is out of bounds.

Since: 0.1.2

foldl1' :: (Char -> Char -> Char) -> ShortText -> Char #

\(\mathcal{O}(n)\) Strict version of foldl1.

Since: 0.1.2

foldr1 :: (Char -> Char -> Char) -> ShortText -> Char #

\(\mathcal{O}(n)\) Reduces the characters of the ShortText with the binary operator.

>>> foldr1 max "abcdcba"
'd'
>>> foldr1 const "abcd"
'a'
>>> foldr1 (flip const) "abcd"
'd'

Note: Will throw an error exception if index is out of bounds.

Since: 0.1.2