Data.Vector.Generic

Immutable vectors

class Vector v a

type family Mutable v :: * -> * -> *

Accessors

Length information

length

null

Indexing

(!)

(!?)

head

last

unsafeIndex

unsafeHead

unsafeLast

Monadic indexing

indexM

headM

lastM

unsafeIndexM

unsafeHeadM

unsafeLastM

Extracting subvectors (slicing)

slice

init

tail

take

drop

splitAt

unsafeSlice

unsafeInit

unsafeTail

unsafeTake

unsafeDrop

Construction

Initialisation

empty

singleton

replicate

generate

iterateN

Monadic initialisation

replicateM

generateM

create

Unfolding

unfoldr

unfoldrN

constructN

constructrN

Enumeration

enumFromN

enumFromStepN

enumFromTo

enumFromThenTo

Concatenation

cons

snoc

(++)

concat

Restricting memory usage

force

Modifying vectors

Bulk updates

(//)

update

update_

unsafeUpd

unsafeUpdate

unsafeUpdate_

Accumulations

accum

accumulate

accumulate_

unsafeAccum

unsafeAccumulate

unsafeAccumulate_

Permutations

reverse

backpermute

unsafeBackpermute

Safe destructive updates

modify

Elementwise operations

Indexing

indexed

Mapping

map

imap

concatMap

Monadic mapping

mapM

mapM_

forM

forM_

Zipping

zipWith

zipWith3

zipWith4

zipWith5

zipWith6

izipWith

izipWith3

izipWith4

izipWith5

izipWith6

zip

zip3

zip4

zip5

zip6

Monadic zipping

zipWithM

zipWithM_

Unzipping

unzip

unzip3

unzip4

unzip5

unzip6

Working with predicates

Filtering

filter

ifilter

filterM

takeWhile

dropWhile

Partitioning

partition

unstablePartition

span

break

Searching

elem

notElem

find

findIndex

findIndices

elemIndex

elemIndices

Folding

foldl

foldl1

foldl'

foldl1'

foldr

foldr1

foldr'

foldr1'

ifoldl

ifoldl'

ifoldr

ifoldr'

Specialised folds

all

any

and

or

sum

product

maximum

maximumBy

minimum

minimumBy

minIndex

minIndexBy

maxIndex

maxIndexBy

Monadic folds

foldM

foldM'

fold1M

fold1M'

foldM_

foldM'_

fold1M_

fold1M'_

Monadic sequencing

sequence

sequence_

Prefix sums (scans)

prescanl

prescanl'

postscanl

postscanl'

scanl

scanl'

scanl1

scanl1'

prescanr

prescanr'

postscanr

postscanr'

scanr

scanr'

scanr1

scanr1'

Conversions

Lists

toList

fromList

fromListN

Different vector types

convert

Mutable vectors

freeze

thaw

copy

unsafeFreeze

unsafeThaw

unsafeCopy

Fusion support

Conversion to/from Streams

stream

unstream

streamR

unstreamR

Recycling support

new

clone

Utilities

Comparisons

eq

cmp

Show and Read

showsPrec

readPrec

Data and Typeable

gfoldl

dataCast

mkType