text-0.3: An efficient packed Unicode text type

PortabilityGHC
Stabilityexperimental
Maintainerbos@serpentine.com, rtharper@aftereternity.co.uk, duncan@haskell.org

Data.Text.Lazy.Fusion

Description

Core stream fusion functionality for text.

Synopsis

Documentation

stream :: Text -> Stream CharSource

O(n) Convert a Text into a 'Stream Char'.

unstream :: Stream Char -> TextSource

O(n) Convert a 'Stream Char' into a Text, using defaultChunkSize.

unstreamChunks :: Int -> Stream Char -> TextSource

O(n) Convert a 'Stream Char' into a Text, using the given chunk size.

length :: Stream Char -> Int64Source

O(n) Returns the number of characters in a text.

unfoldrN :: Int64 -> (a -> Maybe (Char, a)) -> a -> Stream CharSource

O(n) Like unfoldr, unfoldrN64 builds a stream from a seed value. However, the length of the result is limited by the first argument to unfoldrN64. This function is more efficient than unfoldr when the length of the result is known.

index :: Stream Char -> Int64 -> CharSource

O(n) stream index (subscript) operator, starting from 0.

findIndex :: (Char -> Bool) -> Stream Char -> Maybe Int64Source

The findIndex function takes a predicate and a stream and returns the index of the first element in the stream satisfying the predicate.

findIndices :: (Char -> Bool) -> Stream Char -> [Int64]Source

The findIndices function takes a predicate and a stream and returns all indices of the elements in the stream satisfying the predicate.

elemIndex :: Char -> Stream Char -> Maybe Int64Source

O(n) The elemIndex function returns the index of the first element in the given stream which is equal to the query element, or Nothing if there is no such element.

elemIndices :: Char -> Stream Char -> [Int64]Source

O(n) The elemIndices function returns the index of every element in the given stream which is equal to the query element.

count :: Char -> Stream Char -> Int64Source

O(n) The count function returns the number of times the query element appears in the given stream.