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

hGetSome

hGetNonBlocking

hPut

hPutNonBlocking

hPutStr

hPutStrLn

breakByte