fromList : List a -> Vector a
Construit un vecteur dense à partir d'une liste.
import Data.VectorfromList : List a -> Vector atoList : Vector a -> List alength : Vector a -> Natlookup : Vector a -> Nat -> Maybe a(!) : Vector a -> Nat -> Maybe aindex : Vector a -> Nat -> aset : Vector a -> Nat -> a -> Vector awithMutable : Vector a -> (forall s. Array s a -> b with Mut s) -> breverse : Vector a -> Vector amap : (a -> b) -> Vector a -> Vector bfilter : (a -> Bool) -> Vector a -> Vector afoldr : (a -> b -> b) -> b -> Vector a -> bfoldl : (b -> a -> b) -> b -> Vector a -> bfoldMap : Monoid m => (a -> m) -> Vector a -> mzipWith : (a -> b -> c) -> Vector a -> Vector b -> Vector celem : Eq a => a -> Vector a -> Booltake : Nat -> Vector a -> Vector adrop : Nat -> Vector a -> Vector aslice : Nat -> Nat -> Vector a -> Vector aappend : Vector a -> Vector a -> Vector aconcat : List (Vector a) -> Vector afromList : List a -> Vector a
Construit un vecteur dense à partir d'une liste.
toList : Vector a -> List a
Les éléments d'un vecteur, dans l'ordre, sous forme de liste.
length : Vector a -> Nat
Le nombre d'éléments. Nat, le même type de compte que List.length.
lookup : Vector a -> Nat -> Maybe a
(!) : Vector a -> Nat -> Maybe a
Indice sûr vec[i]? — Nothing si i est hors bornes.
index : Vector a -> Nat -> a
Indice direct vec[i] — panique si i est hors bornes.
set : Vector a -> Nat -> a -> Vector a
set vec i v — un NOUVEAU vecteur avec la position i mise à v (inchangé si i est hors bornes). La notation vec { [i] := v } est équivalente (gardée — décision Q3 du 2026-07-02 — mais set est la forme à enseigner et à documenter).
withMutable : Vector a -> (forall s. Array s a -> b with Mut s) -> b
La frontière créer-muter-geler : exécute f sur une copie MUTABLE fraîche de vec, en déchargeant Mut de sorte que le type du résultat soit pur (les effets résiduels comme IO passent au travers). Le motif classique renvoie une valeur construite à partir du tableau muté (freeze marr, ou son toList).
Vector.withMutable (Vector.fromList xs) sortInPlaceThenFreeze.
reverse : Vector a -> Vector a
Inverse l'ordre des éléments.
map : (a -> b) -> Vector a -> Vector b
Applique f à chaque élément, en préservant l'ordre et la longueur.
filter : (a -> Bool) -> Vector a -> Vector a
Garde les éléments satisfaisant le prédicat, dans l'ordre.
foldr : (a -> b -> b) -> b -> Vector a -> b
Pli à droite sur les éléments.
foldl : (b -> a -> b) -> b -> Vector a -> b
Pli à gauche sur les éléments.
foldMap : Monoid m => (a -> m) -> Vector a -> m
Envoie chaque élément vers un monoïde et combine, dans l'ordre (mempty si vide).
zipWith : (a -> b -> c) -> Vector a -> Vector b -> Vector c
Combine deux vecteurs élément par élément avec f, en s'arrêtant au plus court.
elem : Eq a => a -> Vector a -> Bool
L'élément est-il présent ? (Eq sur le type d'élément.)
take : Nat -> Vector a -> Vector a
Les n premiers éléments (tous si n dépasse la longueur).
drop : Nat -> Vector a -> Vector a
Tous sauf les n premiers éléments (vide si n dépasse la longueur).
slice : Nat -> Nat -> Vector a -> Vector a
Les len éléments à partir de l'indice start (borné aux limites).
append : Vector a -> Vector a -> Vector a
Concatène deux vecteurs.
concat : List (Vector a) -> Vector a
Aplatit une liste de vecteurs en un seul, dans l'ordre.