`sig module Bytes : sig external length : bytes -> int = "%string_length" external get : bytes -> int -> char = "%string_safe_get" external set : bytes -> int -> char -> unit = "%string_safe_set" external create : int -> bytes = "caml_create_string" val make : int -> char -> bytes val init : int -> (int -> char) -> bytes val empty : bytes val copy : bytes -> bytes val of_string : string -> bytes val to_string : bytes -> string val sub : bytes -> int -> int -> bytes val sub_string : bytes -> int -> int -> string val extend : bytes -> int -> int -> bytes val fill : bytes -> int -> int -> char -> unit val blit : bytes -> int -> bytes -> int -> int -> unit val blit_string : string -> int -> bytes -> int -> int -> unit val concat : bytes -> bytes list -> bytes val cat : bytes -> bytes -> bytes val iter : (char -> unit) -> bytes -> unit val iteri : (int -> char -> unit) -> bytes -> unit val map : (char -> char) -> bytes -> bytes val mapi : (int -> char -> char) -> bytes -> bytes val trim : bytes -> bytes val escaped : bytes -> bytes val index : bytes -> char -> int val rindex : bytes -> char -> int val index_from : bytes -> int -> char -> int val rindex_from : bytes -> int -> char -> int val contains : bytes -> char -> bool val contains_from : bytes -> int -> char -> bool val rcontains_from : bytes -> int -> char -> bool val uppercase : bytes -> bytes val lowercase : bytes -> bytes val capitalize : bytes -> bytes val uncapitalize : bytes -> bytes val uppercase_ascii : bytes -> bytes val lowercase_ascii : bytes -> bytes val capitalize_ascii : bytes -> bytes val uncapitalize_ascii : bytes -> bytes type t = bytes val compare : t -> t -> int val equal : t -> t -> bool val unsafe_to_string : bytes -> string val unsafe_of_string : string -> bytes external unsafe_get : bytes -> int -> char = "%string_unsafe_get" external unsafe_set : bytes -> int -> char -> unit = "%string_unsafe_set" external unsafe_blit : bytes -> int -> bytes -> int -> int -> unit = "caml_blit_string" [@@noalloc] external unsafe_fill : bytes -> int -> int -> char -> unit = "caml_fill_string" [@@noalloc] end module Buffer : sig type t = Buffer.t val create : int -> t val contents : t -> string val to_bytes : t -> bytes val sub : t -> int -> int -> string val blit : t -> int -> bytes -> int -> int -> unit val nth : t -> int -> char val length : t -> int val clear : t -> unit val reset : t -> unit val add_char : t -> char -> unit val add_string : t -> string -> unit val add_bytes : t -> bytes -> unit val add_substring : t -> string -> int -> int -> unit val add_subbytes : t -> bytes -> int -> int -> unit val add_substitute : t -> (string -> string) -> string -> unit val add_buffer : t -> t -> unit val add_channel : t -> in_channel -> int -> unit val output_buffer : out_channel -> t -> unit end module Filename : sig val current_dir_name : string val parent_dir_name : string val dir_sep : string val concat : string -> string -> string val is_relative : string -> bool val is_implicit : string -> bool val check_suffix : string -> string -> bool val chop_suffix : string -> string -> string val chop_extension : string -> string val basename : string -> string val dirname : string -> string val temp_file : ?temp_dir:string -> string -> string -> string val open_temp_file : ?mode:open_flag list -> ?perms:int -> ?temp_dir:string -> string -> string -> string * out_channel val get_temp_dir_name : unit -> string val set_temp_dir_name : string -> unit val temp_dir_name : string val quote : string -> string end exception Lexer_error of string val download_dir : OpamTypes.dirname OpamTypes.download -> OpamTypes.generic_file OpamTypes.download val download_file : OpamTypes.filename OpamTypes.download -> OpamTypes.generic_file OpamTypes.download val string_of_download : 'a OpamTypes.download -> string val string_of_generic_file : OpamTypes.generic_file -> string val string_of_address : OpamTypes.address -> string val address_of_string : string -> OpamTypes.address val parse_url : OpamTypes.address -> OpamTypes.address * OpamTypes.repository_kind val guess_version_control : OpamTypes.dirname -> [ `darcs | `git | `hg ] option val string_of_repository_kind : OpamTypes.repository_kind -> string val repository_kind_of_string : string -> OpamTypes.repository_kind val action_contents : 'a OpamTypes.action -> 'a val full_action_contents : 'a OpamTypes.action -> 'a list val string_of_cause : ('pkg -> string) -> 'pkg OpamTypes.cause -> string val string_of_upload : OpamTypes.upload -> string val repository_kind_of_pin_kind : OpamTypes.pin_kind -> OpamTypes.repository_kind option val pin_kind_of_string : string -> OpamTypes.pin_kind val string_of_pin_kind : OpamTypes.pin_kind -> string val pin_option_of_string : ?kind:OpamTypes.pin_kind -> ?guess:bool -> string -> OpamTypes.pin_option val string_of_pin_option : OpamTypes.pin_option -> string val kind_of_pin_option : OpamTypes.pin_option -> OpamTypes.pin_kind val pin_of_url : OpamTypes.address * OpamTypes.repository_kind -> OpamTypes.pin_option val string_of_shell : OpamTypes.shell -> string val pos_null : OpamTypes.pos val string_of_pos : OpamTypes.pos -> string val string_of_relop : OpamTypes.relop -> string val relop_of_string : string -> OpamTypes.relop val string_of_logop : OpamTypes.logop -> string val logop_of_string : string -> OpamTypes.logop val string_of_pfxop : OpamTypes.pfxop -> string val pfxop_of_string : string -> OpamTypes.pfxop val filter_ident_of_string : string -> OpamTypes.name list * OpamTypes.variable * (string * string) option val filter_deps : ?build:bool -> ?test:bool -> ?doc:bool -> OpamTypes.ext_formula -> OpamTypes.formula val map_success : ('a -> 'b) -> ('a, 'fail) OpamTypes.result -> ('b, 'fail) OpamTypes.result end`