byteslice-0.2.7.0: Slicing managed and unmanaged memory
Safe HaskellNone
LanguageHaskell2010

Data.Bytes.Text.AsciiExt

Description

This module contains functions which operate on supersets of Bytes containing ASCII-encoded text. That is, none of the functions here inspect bytes with a value greater than 127, and do not fail due to the presence of such bytes.

Synopsis

Line-Oriented IO

hFoldLines :: Handle -> a -> (a -> Bytes -> IO a) -> IO a Source #

Perform an action on each line of the input, threading state through the computation. If you do not need to keep a state, see hForLines_.

Lines are extracted with with hGetLine, which does not document its detection algorithm. As of writing (bytestring v0.11.1.0), lines are delimited by a single n character (UNIX-style, as all things should be).

hForLines_ :: Handle -> (Bytes -> IO a) -> IO () Source #

Perform an action on each line of the input, discarding results. To maintain a running state, see hFoldLines.

Lines are extracted with with hGetLine, which does not document its detection algorithm. As of writing (bytestring v0.11.1.0), lines are delimited by a single n character (UNIX-style, as all things should be).

Standard Handles

forLines_ :: (Bytes -> IO a) -> IO () Source #

foldLines :: a -> (a -> Bytes -> IO a) -> IO a Source #

Text Manipulation

toLowerU :: Bytes -> ByteArray Source #

O(n) Convert ASCII letters to lowercase. This adds 0x20 to bytes in the range [0x41,0x5A] (A-Za-z) and leaves all other bytes alone. Unconditionally copies the bytes.