Import Upstream version 20180207
[hcoop/debian/mlton.git] / basis-library / list / list.sig
CommitLineData
7f918cf1
CE
1signature LIST_GLOBAL =
2 sig
3 datatype list = datatype list
4
5 exception Empty
6
7 val @ : 'a list * 'a list -> 'a list
8 val app: ('a -> unit) -> 'a list -> unit
9 val foldl: ('a * 'b -> 'b) -> 'b -> 'a list -> 'b
10 val foldr: ('a * 'b -> 'b) -> 'b -> 'a list -> 'b
11 val hd: 'a list -> 'a
12 val length: 'a list -> int
13 val map: ('a -> 'b) -> 'a list -> 'b list
14 val null: 'a list -> bool
15 val rev: 'a list -> 'a list
16 val tl: 'a list -> 'a list
17 end
18
19signature LIST =
20 sig
21 include LIST_GLOBAL
22
23 val all: ('a -> bool) -> 'a list -> bool
24 val collate: ('a * 'a -> order) -> 'a list * 'a list -> order
25 val concat: 'a list list -> 'a list
26 val drop: 'a list * int -> 'a list
27 val exists: ('a -> bool) -> 'a list -> bool
28 val filter: ('a -> bool) -> 'a list -> 'a list
29 val find: ('a -> bool) -> 'a list -> 'a option
30 val getItem: 'a list -> ('a * 'a list) option
31 val last: 'a list -> 'a
32 val mapPartial: ('a -> 'b option) -> 'a list -> 'b list
33 val nth: 'a list * int -> 'a
34 val partition: ('a -> bool) -> 'a list -> 'a list * 'a list
35 val revAppend: 'a list * 'a list -> 'a list
36 val tabulate: int * (int -> 'a) -> 'a list
37 val take: 'a list * int -> 'a list
38 end