Module Nonstd.List (.ml)

module List: sig .. end

include ListLabels
val hd_exn : 'a list -> 'a
val hd : 'a list -> 'a option
val tl_exn : 'a list -> 'a list
val tl : 'a list -> 'a list option
val nth : 'a list -> int -> 'a option
val nth_exn : 'a list -> int -> 'a
val fold : 'a list -> init:'b -> f:('b -> 'a -> 'b) -> 'b
val rev_filter : 'a list -> f:('a -> bool) -> 'a list
val filter : 'a list -> f:('a -> bool) -> 'a list
val find_map : 'a list -> f:('a -> 'b option) -> 'b option
val find : 'a list -> f:('a -> bool) -> 'a option
val find_exn : 'a list -> f:('a -> bool) -> 'a
val findi : 'a list -> f:(int -> 'a -> bool) -> (int * 'a) option
val exists : 'a list -> f:('a -> bool) -> bool
changing the order of arguments on some standard List functions.
val for_all : 'a list -> f:('a -> bool) -> bool
val iter : 'a list -> f:('a -> unit) -> unit
val fold : 'a list -> init:'b -> f:('b -> 'a -> 'b) -> 'b
For the container interface.
val fold_left : 'a list -> init:'b -> f:('b -> 'a -> 'b) -> 'b
val to_array : 'a list -> 'a array
val to_list : 'a -> 'a

Tail recursive versions of standard List module
val slow_append : 'a list -> 'a list -> 'a list
val count_append : 'a list -> 'a list -> int -> 'a list
val append : 'a list -> 'a list -> 'a list
val map_slow : 'a list -> f:('a -> 'b) -> 'b list
val count_map : f:('a -> 'b) -> 'a list -> int -> 'b list
val map : 'a list -> f:('a -> 'b) -> 'b list
val fold_right : 'a list -> f:('a -> 'b -> 'b) -> init:'b -> 'b
val rev_mapi : 'a list -> f:(int -> 'a -> 'b) -> i:int -> 'b list
val count_mapi : f:(int -> 'a -> 'b) -> 'a list -> int -> 'b list
val mapi : 'a list -> f:(int -> 'a -> 'b) -> 'b list
val map2_slow : 'a list -> 'b list -> f:('a -> 'b -> 'c) -> 'c list
val count_map2_exn : f:('a -> 'b -> 'c) -> 'a list -> 'b list -> int -> 'c list
val map2_exn : 'a list -> 'b list -> f:('a -> 'b -> 'c) -> 'c list
val iteri : 'a list -> f:(int -> 'a -> unit) -> unit
val foldi : 'a list -> f:(int -> 'b -> 'a -> 'b) -> init:'b -> 'b
val filteri : 'a list -> f:(int -> 'a -> bool) -> 'a list
val reduce : 'a list -> f:('a -> 'a -> 'a) -> 'a option
val concat_map : 'a list -> f:('a -> 'b list) -> 'b list
val concat_mapi : 'a list -> f:(int -> 'a -> 'b list) -> 'b list
val merge : 'a list -> 'a list -> cmp:('a -> 'a -> int) -> 'a list
val last : 'a list -> 'a option
val remove_consecutive_duplicates : 'a list -> equal:('a -> 'a -> bool) -> 'a list
val dedup : ?compare:('a -> 'a -> int) -> 'a list -> 'a list
val contains_dup : ?compare:('a -> 'a -> int) -> 'a list -> bool
val find_a_dup : ?compare:('a -> 'a -> int) -> 'a list -> 'a option
val init : int -> f:(int -> 'a) -> 'a list
val rev_filter_map : 'a list -> f:('a -> 'b option) -> 'b list
val filter_map : 'a list -> f:('a -> 'b option) -> 'b list
val filter_opt : 'a option list -> 'a list
val partition_map : 'a list -> f:('a -> [< `Fst of 'b | `Snd of 'c ]) -> 'b list * 'c list
val split_n : 'a list -> int -> 'a list * 'a list
val take : 'a list -> int -> 'a list
val drop : 'a list -> int -> 'a list
val split_while : 'a list -> f:('a -> bool) -> 'a list * 'a list
val take_while : 'a list -> f:('a -> bool) -> 'a list
val drop_while : 'a list -> f:('a -> bool) -> 'a list
module Assoc: sig .. end
val assoc : [> `Use_sub_module ]
val assq : [> `Use_sub_module ]
val mem_assoc : [> `Use_sub_module ]
val mem_assq : [> `Use_sub_module ]
val remove_assoc : [> `Use_sub_module ]
val remove_assq : [> `Use_sub_module ]