Import Upstream version 20180207
[hcoop/debian/mlton.git] / basis-library / libs / basis-1997 / arrays-and-vectors / array.sig
1 signature ARRAY_1997 =
2 sig
3 eqtype 'a array
4 type 'a vector
5
6 val app: ('a -> unit) -> 'a array -> unit
7 val appi: (int * 'a -> unit) -> 'a array * int * int option -> unit
8 val array: int * 'a -> 'a array
9 val copy: {src: 'a array, si: int, len: int option,
10 dst: 'a array, di: int} -> unit
11 val copyVec: {src: 'a vector, si: int, len: int option,
12 dst: 'a array, di: int} -> unit
13 val extract: 'a array * int * int option -> 'a vector
14 val foldl: ('a * 'b -> 'b) -> 'b -> 'a array -> 'b
15 val foldli: (int * 'a * 'b -> 'b) -> 'b -> 'a array * int * int option -> 'b
16 val foldr: ('a * 'b -> 'b) -> 'b -> 'a array -> 'b
17 val foldri: (int * 'a * 'b -> 'b) -> 'b -> 'a array * int * int option -> 'b
18 val fromList: 'a list -> 'a array
19 val length: 'a array -> int
20 val maxLen: int
21 val modify: ('a -> 'a) -> 'a array -> unit
22 val modifyi: (int * 'a -> 'a) -> 'a array * int * int option -> unit
23 val sub: 'a array * int -> 'a
24 val tabulate: int * (int -> 'a) -> 'a array
25 val update: 'a array * int * 'a -> unit
26 end