Data.ByteString

# 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

# Transforming 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

# Predicates

isPrefixOf
isSuffixOf
isInfixOf

## Search for arbitrary substrings

breakSubstring
findSubstring
findSubstrings

# Searching ByteStrings

## Searching by equality

elem
notElem

## Searching with a predicate

find
filter
partition

# Indexing ByteStrings

index
elemIndex
elemIndices
elemIndexEnd
findIndex
findIndices
count

# Zipping and unzipping ByteStrings

zip
zipWith
unzip

# Ordered ByteStrings

sort

# Low level conversions

## Copying ByteStrings

copy

## Packing `CString`s and pointers

packCString
packCStringLen

## Using ByteStrings as `CString`s

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
hPutStr
hPutStrLn
breakByte