SML# Document Version 4.0.0
26.39 VECTOR
Provide a vector (immutable array) type and its primitive functions.
signature VECTOR = sig type ’a vector = ’a Vector.vector val all : (’a -> bool) -> ’a vector -> bool val app : (’a -> unit) -> ’a vector -> unit val appi : (int * ’a -> unit) -> ’a vector -> unit val collate : (’a * ’a -> order) -> ’a vector * ’a vector -> order val concat : ’a vector list -> ’a vector val exists : (’a -> bool) -> ’a vector -> bool val find : (’a -> bool) -> ’a vector -> ’a option val findi : (int * ’a -> bool) -> ’a vector -> (int * ’a) option val foldl : (’a * ’b -> ’b) -> ’b -> ’a vector -> ’b val foldli : (int * ’a * ’b -> ’b) -> ’b -> ’a vector -> ’b val foldr : (’a * ’b -> ’b) -> ’b -> ’a vector -> ’b val foldri : (int * ’a * ’b -> ’b) -> ’b -> ’a vector -> ’b val fromList : ’a list -> ’a vector val length : ’a vector -> int val map : (’a -> ’b) -> ’a vector -> ’b vector val mapi : (int * ’a -> ’b) -> ’a vector -> ’b vector val maxLen : int val sub : ’a vector * int -> ’a val tabulate : int * (int -> ’a) -> ’a vector val update : ’a vector * int * ’a -> ’a vector end
Structures that implement the signature
-
•
Vector : VECTOR