Data.ListLike

# Introduction

# Creation & Basic Functions

empty

singleton

cons

snoc

append

uncons

head

last

tail

init

null

length

# List transformations

map

rigidMap

reverse

intersperse

## Conversions

toList

fromList

fromListLike

# Reducing lists (folds), from FoldableLL

foldl

foldl'

foldl1

foldr

foldr'

foldr1

## Special folds

concat

concatMap

rigidConcatMap

and

or

any

all

sum

product

maximum

minimum

fold

foldMap

# Building lists

## Scans

## Accumulating maps

## Infinite lists

iterate

repeat

replicate

cycle

## Unfolding

# Sublists

## Extracting sublists

take

drop

splitAt

takeWhile

dropWhile

dropWhileEnd

span

break

group

inits

tails

## Predicates

isPrefixOf

isSuffixOf

isInfixOf

## Modify based on predicate

stripPrefix

stripSuffix

# Searching lists

## Searching by equality

elem

notElem

## Searching with a predicate

find

filter

partition

# Indexing lists

index

elemIndex

elemIndices

findIndex

findIndices

# Zipping and unzipping lists

zip

zipWith

unzip

# Monadic Operations

sequence

sequence_

mapM

rigidMapM

mapM_

# Input and Output

class ListLikeIO full item

# Special lists

## Strings

toString

fromString

lines

words

## "Set" operations

nub

delete

deleteFirsts

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

## The "generic" operations

genericLength

genericTake

genericDrop

genericSplitAt

genericReplicate

# Notes on specific instances

## Lists

## Arrays

## ByteStrings

data Chars

data CharString

data CharStringLazy

# Base Typeclasses

## The ListLike class

class ListLike full item

## The FoldableLL class

class FoldableLL full item

## The StringLike class

class StringLike s

## The InfiniteListLike class

class InfiniteListLike full item