Data.List

# Basic functions

(++)
head
last
tail
init
null
length

# List transformations

map
reverse
intersperse
intercalate
transpose
subsequences
permutations

# Reducing lists (folds)

foldl
foldl'
foldl1
foldl1'
foldr
foldr1

## Special folds

concat
concatMap
and
or
any
all
sum
product
maximum
minimum

# Building lists

## Scans

scanl
scanl1
scanr
scanr1

## Accumulating maps

mapAccumL
mapAccumR

## Infinite lists

iterate
repeat
replicate
cycle

## Unfolding

unfoldr

# Sublists

## Extracting sublists

take
drop
splitAt
takeWhile
dropWhile
span
break
stripPrefix
group
inits
tails

## Predicates

isPrefixOf
isSuffixOf
isInfixOf

# Searching lists

## Searching by equality

elem
notElem
lookup

## Searching with a predicate

find
filter
partition

# Indexing lists

(!!)
elemIndex
elemIndices
findIndex
findIndices

# Zipping and unzipping lists

zip
zip3
zip4
zip5
zip6
zip7
zipWith
zipWith3
zipWith4
zipWith5
zipWith6
zipWith7
unzip
unzip3
unzip4
unzip5
unzip6
unzip7

# Special lists

## Functions on strings

lines
words
unlines
unwords

## "Set" operations

nub
delete
(\\)
union
intersect

## Ordered lists

sort
insert

# Generalized functions

## The "`By`" operations

### User-supplied equality (replacing an `Eq` context)

nubBy
deleteBy
deleteFirstsBy
unionBy
intersectBy
groupBy

### User-supplied comparison (replacing an `Ord` context)

sortBy
insertBy
maximumBy
minimumBy

## The "`generic`" operations

genericLength
genericTake
genericDrop
genericSplitAt
genericIndex
genericReplicate