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