| (* Things that should be in the OCaml library... *) |
| |
| type void = | |
| |
| module Fun : |
| sig |
| val id : 'a -> 'a |
| val curry : ('a * 'b -> 'c) -> ('a -> 'b -> 'c) |
| val uncurry : ('a -> 'b -> 'c) -> ('a * 'b -> 'c) |
| |
| val repeat : int -> ('a -> unit) -> 'a -> unit |
| end |
| |
| module List : |
| sig |
| val make : int -> 'a -> 'a list |
| val table : int -> (int -> 'a) -> 'a list |
| val take : int -> 'a list -> 'a list (* raises Failure *) |
| val drop : int -> 'a list -> 'a list (* raises Failure *) |
| |
| val last : 'a list -> 'a (* raises Failure *) |
| val split_last : 'a list -> 'a list * 'a (* raises Failure *) |
| |
| val index_of : 'a -> 'a list -> int option |
| val index_where : ('a -> bool) -> 'a list -> int option |
| val map_filter : ('a -> 'b option) -> 'a list -> 'b list |
| val concat_map : ('a -> 'b list) -> 'a list -> 'b list |
| val pairwise : ('a -> 'a -> 'b) -> 'a list -> 'b list |
| end |
| |
| module List32 : |
| sig |
| val make : int32 -> 'a -> 'a list |
| val length : 'a list -> int32 |
| val nth : 'a list -> int32 -> 'a (* raises Failure *) |
| val take : int32 -> 'a list -> 'a list (* raises Failure *) |
| val drop : int32 -> 'a list -> 'a list (* raises Failure *) |
| val mapi : (int32 -> 'a -> 'b) -> 'a list -> 'b list |
| end |
| |
| module Array32 : |
| sig |
| val make : int32 -> 'a -> 'a array |
| val length : 'a array -> int32 |
| val get : 'a array -> int32 -> 'a |
| val set : 'a array -> int32 -> 'a -> unit |
| val blit : 'a array -> int32 -> 'a array -> int32 -> int32 -> unit |
| end |
| |
| module Bigarray : |
| sig |
| open Bigarray |
| |
| module Array1_64 : |
| sig |
| val create : ('a, 'b) kind -> 'c layout -> int64 -> ('a, 'b, 'c) Array1.t |
| val dim : ('a, 'b, 'c) Array1.t -> int64 |
| val get : ('a, 'b, 'c) Array1.t -> int64 -> 'a |
| val set : ('a, 'b, 'c) Array1.t -> int64 -> 'a -> unit |
| val sub : ('a, 'b, 'c) Array1.t -> int64 -> int64 -> ('a, 'b, 'c) Array1.t |
| end |
| end |
| |
| module Option : |
| sig |
| val get : 'a option -> 'a -> 'a |
| val force : 'a option -> 'a (* raises Invalid_argument *) |
| val map : ('a -> 'b) -> 'a option -> 'b option |
| val app : ('a -> unit) -> 'a option -> unit |
| end |
| |
| module Int : |
| sig |
| val log2 : int -> int |
| val is_power_of_two : int -> bool |
| end |
| |
| module String : |
| sig |
| val implode : char list -> string |
| val explode : string -> char list |
| val split : string -> char -> string list |
| val breakup : string -> int -> string list |
| val find_from_opt : (char -> bool) -> string -> int -> int option |
| end |