sig
type spec =
Arg.spec =
Unit of (unit -> unit)
| Bool of (bool -> unit)
| Set of bool ref
| Clear of bool ref
| String of (string -> unit)
| Set_string of string ref
| Int of (int -> unit)
| Set_int of int ref
| Float of (float -> unit)
| Set_float of float ref
| Tuple of spec list
| Symbol of string list * (string -> unit)
| Rest of (string -> unit)
type key = string
type doc = key
type usage_msg = doc
type anon_fun = usage_msg -> unit
val parse :
(usage_msg * spec * usage_msg) list -> anon_fun -> usage_msg -> unit
val parse_argv :
?current:int ref ->
usage_msg array ->
(usage_msg * spec * usage_msg) list -> anon_fun -> usage_msg -> unit
exception Help of usage_msg
exception Bad of usage_msg
val usage : (usage_msg * spec * usage_msg) list -> usage_msg -> unit
val usage_string :
(usage_msg * spec * usage_msg) list -> usage_msg -> usage_msg
val align :
(usage_msg * spec * usage_msg) list ->
(usage_msg * spec * usage_msg) list
val current : int ref
type t = usage_msg * spec * usage_msg
val sort_and_align :
(usage_msg * spec * usage_msg) list ->
(usage_msg * spec * usage_msg) list
end