| (* Things that should be in the OCaml library... *) | |
| val fst3 : 'a * 'b * 'c -> 'a | |
| val snd3 : 'a * 'b * 'c -> 'b | |
| val thd3 : 'a * 'b * 'c -> 'c | |
| module List : | |
| sig | |
| val take : int -> 'a list -> 'a list (* raises Failure *) | |
| val drop : int -> 'a list -> 'a list (* raises Failure *) | |
| val split : int -> 'a list -> 'a list * 'a list (* raises Failure *) | |
| val split_hd : 'a list -> 'a * 'a list (* raises Failure *) | |
| val split_last_opt : 'a list -> ('a list * 'a) option | |
| val split_last : 'a list -> 'a list * 'a (* raises Failure *) | |
| val last_opt : 'a list -> 'a option | |
| val last : 'a list -> 'a (* raises Failure *) | |
| val nub : ('a -> 'a -> bool) -> 'a list -> 'a list | |
| val filter_not : ('a -> bool) -> 'a list -> 'a list | |
| val flatten_opt : 'a option list -> 'a list option | |
| val fold_lefti : (int -> 'acc -> 'a -> 'acc) -> 'acc -> 'a list -> 'acc | |
| val group_by : ('a -> 'a -> bool) -> 'a list -> 'a list list | |
| end | |
| module Char : | |
| sig | |
| val is_digit_ascii : char -> bool | |
| val is_uppercase_ascii : char -> bool | |
| val is_lowercase_ascii : char -> bool | |
| val is_letter_ascii : char -> bool | |
| end | |
| module String : | |
| sig | |
| val implode : char list -> string | |
| val explode : string -> char list | |
| val replace : string -> string -> string -> string | |
| end |