Data.ByteString.Char8

# The `ByteString` type

data ByteString

# Introducing and eliminating `ByteString`s

empty

singleton

pack

unpack

# Basic interface

cons

snoc

append

head

uncons

last

tail

init

null

length

# Transformating ByteStrings

map

reverse

intersperse

intercalate

transpose

# Reducing `ByteString`s (folds)

foldl

foldl'

foldl1

foldl1'

foldr

foldr'

foldr1

foldr1'

## Special folds

concat

concatMap

any

all

maximum

minimum

# Building ByteStrings

## Scans

scanl

scanl1

scanr

scanr1

## Accumulating maps

mapAccumL

mapAccumR

## Generating and unfolding ByteStrings

replicate

unfoldr

unfoldrN

# Substrings

## Breaking strings

take

drop

splitAt

takeWhile

dropWhile

span

spanEnd

break

breakEnd

group

groupBy

inits

tails

## Breaking into many substrings

split

splitWith

## Breaking into lines and words

lines

words

unlines

unwords

# Predicates

isPrefixOf

isSuffixOf

isInfixOf

## Search for arbitrary substrings

breakSubstring

findSubstring

findSubstrings

# Searching ByteStrings

## Searching by equality

elem

notElem

## Searching with a predicate

find

filter

# Indexing ByteStrings

index

elemIndex

elemIndices

elemIndexEnd

findIndex

findIndices

count

# Zipping and unzipping ByteStrings

zip

zipWith

unzip

# Ordered ByteStrings

sort

# Reading from ByteStrings

readInt

readInteger

# Low level CString conversions

## Copying ByteStrings

copy

## Packing CStrings and pointers

packCString

packCStringLen

## Using ByteStrings as CStrings

useAsCString

useAsCStringLen

# I/O with `ByteString`s

## Standard input and output

getLine

getContents

putStr

putStrLn

interact

## Files

readFile

writeFile

appendFile

## I/O with Handles

hGetLine

hGetContents

hGet

hGetNonBlocking

hPut

hPutNonBlocking

hPutStr

hPutStrLn