module Applicative : sig ... endmodule Array : sig ... endMutable vector of elements with O(1)
getandsetoperations.
module Avltree : sig ... endA low-level, mutable AVL tree.
module Backtrace : sig ... endModule for managing stack backtraces.
module Binary_search : sig ... endFunctions for performing binary searches over ordered sequences given
lengthandgetfunctions.
module Binary_searchable : sig ... endmodule Blit : sig ... endmodule Bool : sig ... endBoolean type extended to be enumerable, hashable, sexpable, comparable, and stringable.
module Buffer : sig ... endExtensible character buffers.
module Bytes : sig ... endOCaml's byte sequence type, semantically similar to a
char array, but taking less space in memory.
module Char : sig ... endA type for 8-bit characters.
module Comparable : sig ... endmodule Comparator : sig ... endA type-indexed value that allows one to compare (and for generating error messages, serialize) values of the type in question.
module Comparisons : sig ... endInterfaces for infix comparison operators and comparison functions.
module Container : sig ... endmodule Either : sig ... endmodule Equal : sig ... endThis module defines signatures that are to be included in other signatures to ensure a consistent interface to
equalfunctions. There is a signature (S,S1,S2,S3) for each arity of type. Usage looks like:
module Error : sig ... endA lazy string, implemented with
Info, but intended specifically for error messages.
module Exn : sig ... endExceptions.
module Field : sig ... endOCaml record field.
module Float : sig ... endFloating-point representation and utilities.
module Floatable : sig ... endModule type with float conversion functions.
module Fn : sig ... endVarious combinators for functions.
module Formatter : sig ... endThe
Format.formattertype from OCaml's standard library, exported here for convenience and compatibility with other libraries.
module Hash : sig ... endmodule Hash_set : sig ... endmodule Hashable : sig ... endmodule Hasher : sig ... endmodule Hashtbl : sig ... endmodule Identifiable : sig ... endA signature combining functionality that is commonly used for types that are intended to act as names or identifiers.
module Indexed_container : sig ... endmodule Info : sig ... endmodule Int : sig ... endmodule Int_conversions : sig ... endConversions between various integer types
module Int32 : sig ... endAn int of exactly 32 bits, regardless of the machine.
module Int63 : sig ... end63-bit integers.
module Int64 : sig ... end64-bit integers.
module Intable : sig ... endFunctor that adds integer conversion functions to a module.
module Int_math : sig ... endThis module implements derived integer operations (e.g., modulo, rounding to multiples) based on other basic operations.
module Invariant : sig ... endmodule Lazy : sig ... endA value of type
'a Lazy.tis a deferred computation, called a suspension, that has a result of type'a.
module List : sig ... endImmutable, singly-linked lists, giving fast access to the front of the list, and slow (i.e., O(n)) access to the back of the list. The comparison functions on lists are lexicographic.
module Map : sig ... endmodule Maybe_bound : sig ... endUsed for specifying a bound (either upper or lower) as inclusive, exclusive, or unbounded.
module Monad : sig ... endmodule Nativeint : sig ... endProcessor-native integers.
module Nothing : sig ... endAn uninhabited type. This is useful when interfaces require that a type be specified, but the implementer knows this type will not be used in their implementation of the interface.
module Option : sig ... endOption type.
module Option_array : sig ... end'a Option_array.tis a compact representation of'a option array: it avoids allocating heap objects representingSome x, usually representing them withxinstead. It uses a special representation forNonethat's guaranteed to never collide with any representation ofSome x.
module Or_error : sig ... endType for tracking errors in an
Error.t. This is a specialization of theResulttype, where theErrorconstructor carries anError.t.
module Ordered_collection_common : sig ... endFunctions for ordered collections.
module Ordering : sig ... endOrderingis intended to make code that matches on the result of a comparison more concise and easier to read.
module Poly : sig ... endmodule Polymorphic_compare = Polymodule Popcount : sig ... endThis module exposes popcount functions (which count the number of ones in a bitstring) for the various integer types.
module Pretty_printer : sig ... endA list of pretty printers for various types, for use in toplevels.
module Printf : sig ... endFunctions for formatted output.
module Linked_queue : sig ... endThis module is a Base-style wrapper around OCaml's standard
Queuemodule.
module Queue : sig ... endmodule Random : sig ... endPseudo-random number generation.
module Ref : sig ... endModule for the type
ref, mutable indirection cellsrcontaining a value of type'a, accessed with!rand set byr := a.
module Result : sig ... endResultis often used to handle error messages.
module Sequence : sig ... endA sequence of elements that can be produced one at a time, on demand, normally with no sharing.
module Set : sig ... endmodule Sexpable : sig ... endProvides functors for making modules sexpable. New code should use the
[@@deriving sexp]syntax directly. These module types (S,S1,S2, andS3) are exported for backwards compatibility only.
module Sign : sig ... endA type for representing the sign of a numeric value.
module Sign_or_nan : sig ... endAn extension to
Signwith aNanconstructor, for representing the sign of float-like numeric values.
module Source_code_position : sig ... endOne typically obtains a
Source_code_position.tusing a[%here]expression, which is implemented by theppx_herepreprocessor.
module Stack : sig ... endmodule Staged : sig ... endA type for making staging explicit in the type of a function.
module String : sig ... endAn extension of the standard
StringLabels. If youopen Base, you'll get these extensions in theStringmodule.
module Stringable : sig ... endProvides type-specific conversion functions to and from
string.
module Sys : sig ... endCross-platform system configuration values.
module T : sig ... endThis module defines various abstract interfaces that are convenient when one needs a module that matches a bare signature with just a type. This sometimes occurs in functor arguments and in interfaces.
module Type_equal : sig ... endThe purpose of
Type_equalis to represent type equalities that the type checker otherwise would not know, perhaps because the type equality depends on dynamic data, or perhaps because the type system isn't powerful enough.
module Uniform_array : sig ... endSame semantics as
'a Array.t, except it's guaranteed that the representation array is not tagged withDouble_array_tag, the tag for float arrays.
module Unit : sig ... endModule for the type
unit.
module Uchar : sig ... endUnicode character operations.
module Validate : sig ... endA module for organizing validations of data structures.
module Variant : sig ... endFirst-class representative of an individual variant in a variant type, used in
[@@deriving variants].
module With_return : sig ... endwith_return fallows for something like the return statement in C withinf.
module Word_size : sig ... endFor determining the word size that the program is using.
module Sexp : sig ... endmodule Export : sig ... endinclude Export
include Sexp.Private.Raw_grammar.Builtin
val unit_sexp_grammar : Sexp.Private.Raw_grammar.tval bool_sexp_grammar : Sexp.Private.Raw_grammar.tval string_sexp_grammar : Sexp.Private.Raw_grammar.tval bytes_sexp_grammar : Sexp.Private.Raw_grammar.tval char_sexp_grammar : Sexp.Private.Raw_grammar.tval int_sexp_grammar : Sexp.Private.Raw_grammar.tval float_sexp_grammar : Sexp.Private.Raw_grammar.tval int32_sexp_grammar : Sexp.Private.Raw_grammar.tval int64_sexp_grammar : Sexp.Private.Raw_grammar.tval nativeint_sexp_grammar : Sexp.Private.Raw_grammar.tval ref_sexp_grammar : Sexp.Private.Raw_grammar.tval lazy_t_sexp_grammar : Sexp.Private.Raw_grammar.tval option_sexp_grammar : Sexp.Private.Raw_grammar.tval list_sexp_grammar : Sexp.Private.Raw_grammar.tval array_sexp_grammar : Sexp.Private.Raw_grammar.t
type 'a array = 'a Array.t
val compare_array : a. ('a -> 'a -> int) -> 'a array -> 'a array -> intval equal_array : a. ('a -> 'a -> bool) -> 'a array -> 'a array -> boolval array_of_sexp : a. (Sexp.t -> 'a) -> Sexp.t -> 'a arrayval sexp_of_array : a. ('a -> Sexp.t) -> 'a array -> Sexp.tval array_sexp_grammar : Sexp.Private.Raw_grammar.t
type bool = Bool.t
val compare_bool : bool -> bool -> intval equal_bool : bool -> bool -> boolval hash_fold_bool : Hash.state -> bool -> Hash.stateval hash_bool : bool -> Hash.hash_valueval bool_of_sexp : Sexp.t -> boolval sexp_of_bool : bool -> Sexp.tval bool_sexp_grammar : Sexp.Private.Raw_grammar.t
type char = Char.t
val compare_char : char -> char -> intval equal_char : char -> char -> boolval hash_fold_char : Hash.state -> char -> Hash.stateval hash_char : char -> Hash.hash_valueval char_of_sexp : Sexp.t -> charval sexp_of_char : char -> Sexp.tval char_sexp_grammar : Sexp.Private.Raw_grammar.t
type exn = Exn.t
type float = Float.t
val compare_float : float -> float -> intval equal_float : float -> float -> boolval hash_fold_float : Hash.state -> float -> Hash.stateval hash_float : float -> Hash.hash_valueval float_of_sexp : Sexp.t -> floatval sexp_of_float : float -> Sexp.tval float_sexp_grammar : Sexp.Private.Raw_grammar.t
type int = Int.t
val compare_int : int -> int -> intval equal_int : int -> int -> boolval hash_fold_int : Hash.state -> int -> Hash.stateval hash_int : int -> Hash.hash_valueval int_of_sexp : Sexp.t -> intval sexp_of_int : int -> Sexp.tval int_sexp_grammar : Sexp.Private.Raw_grammar.t
type int32 = Int32.t
val compare_int32 : int32 -> int32 -> intval equal_int32 : int32 -> int32 -> boolval hash_fold_int32 : Hash.state -> int32 -> Hash.stateval hash_int32 : int32 -> Hash.hash_valueval int32_of_sexp : Sexp.t -> int32val sexp_of_int32 : int32 -> Sexp.tval int32_sexp_grammar : Sexp.Private.Raw_grammar.t
type int64 = Int64.t
val compare_int64 : int64 -> int64 -> intval equal_int64 : int64 -> int64 -> boolval hash_fold_int64 : Hash.state -> int64 -> Hash.stateval hash_int64 : int64 -> Hash.hash_valueval int64_of_sexp : Sexp.t -> int64val sexp_of_int64 : int64 -> Sexp.tval int64_sexp_grammar : Sexp.Private.Raw_grammar.t
type 'a list = 'a List.t
val compare_list : a. ('a -> 'a -> int) -> 'a list -> 'a list -> intval equal_list : a. ('a -> 'a -> bool) -> 'a list -> 'a list -> boolval hash_fold_list : a. (Hash.state -> 'a -> Hash.state) -> Hash.state -> 'a list -> Hash.stateval list_of_sexp : a. (Sexp.t -> 'a) -> Sexp.t -> 'a listval sexp_of_list : a. ('a -> Sexp.t) -> 'a list -> Sexp.tval list_sexp_grammar : Sexp.Private.Raw_grammar.t
type nativeint = Nativeint.t
val compare_nativeint : nativeint -> nativeint -> intval equal_nativeint : nativeint -> nativeint -> boolval hash_fold_nativeint : Hash.state -> nativeint -> Hash.stateval hash_nativeint : nativeint -> Hash.hash_valueval nativeint_of_sexp : Sexp.t -> nativeintval sexp_of_nativeint : nativeint -> Sexp.tval nativeint_sexp_grammar : Sexp.Private.Raw_grammar.t
type 'a option = 'a Option.t
val compare_option : a. ('a -> 'a -> int) -> 'a option -> 'a option -> intval equal_option : a. ('a -> 'a -> bool) -> 'a option -> 'a option -> boolval hash_fold_option : a. (Hash.state -> 'a -> Hash.state) -> Hash.state -> 'a option -> Hash.stateval option_of_sexp : a. (Sexp.t -> 'a) -> Sexp.t -> 'a optionval sexp_of_option : a. ('a -> Sexp.t) -> 'a option -> Sexp.tval option_sexp_grammar : Sexp.Private.Raw_grammar.t
type 'a ref = 'a Ref.t
val compare_ref : a. ('a -> 'a -> int) -> 'a ref -> 'a ref -> intval equal_ref : a. ('a -> 'a -> bool) -> 'a ref -> 'a ref -> boolval ref_of_sexp : a. (Sexp.t -> 'a) -> Sexp.t -> 'a refval sexp_of_ref : a. ('a -> Sexp.t) -> 'a ref -> Sexp.tval ref_sexp_grammar : Sexp.Private.Raw_grammar.t
type string = String.t
val compare_string : string -> string -> intval equal_string : string -> string -> boolval hash_fold_string : Hash.state -> string -> Hash.stateval hash_string : string -> Hash.hash_valueval string_of_sexp : Sexp.t -> stringval sexp_of_string : string -> Sexp.tval string_sexp_grammar : Sexp.Private.Raw_grammar.t
type bytes = Bytes.t
val compare_bytes : bytes -> bytes -> intval equal_bytes : bytes -> bytes -> boolval bytes_of_sexp : Sexp.t -> bytesval sexp_of_bytes : bytes -> Sexp.tval bytes_sexp_grammar : Sexp.Private.Raw_grammar.t
type unit = Unit.t
val compare_unit : unit -> unit -> intval equal_unit : unit -> unit -> boolval hash_fold_unit : Hash.state -> unit -> Hash.stateval hash_unit : unit -> Hash.hash_valueval unit_of_sexp : Sexp.t -> unitval sexp_of_unit : unit -> Sexp.tval unit_sexp_grammar : Sexp.Private.Raw_grammar.t
type nonrec ('a, 'b, 'c) format = ('a, 'b, 'c) Stdlib.formattype nonrec ('a, 'b, 'c, 'd) format4 = ('a, 'b, 'c, 'd) Stdlib.format4type nonrec ('a, 'b, 'c, 'd, 'e, 'f) format6 = ('a, 'b, 'c, 'd, 'e, 'f) Stdlib.format6
Sexp
type 'a sexp_array = 'a arraytype 'a sexp_list = 'a listtype 'a sexp_opaque = 'atype 'a sexp_option = 'a option
include List.Infix
include Int.O
val (+) : Int.t -> Int.t -> Int.tval (-) : Int.t -> Int.t -> Int.tval (*) : Int.t -> Int.t -> Int.tval (/) : Int.t -> Int.t -> Int.tval (~-) : Int.t -> Int.tval (**) : Int.t -> Int.t -> Int.t
val abs : Int.t -> Int.tval neg : Int.t -> Int.tval zero : Int.tval (%) : Int.t -> Int.t -> Int.tval (/%) : Int.t -> Int.t -> Int.tval (//) : Int.t -> Int.t -> floatval (land) : Int.t -> Int.t -> Int.tval (lor) : Int.t -> Int.t -> Int.tval (lxor) : Int.t -> Int.t -> Int.tval (lnot) : Int.t -> Int.tval (lsl) : Int.t -> int -> Int.tval (asr) : Int.t -> int -> Int.t
val (<) : int -> int -> boolval (<=) : int -> int -> boolval (<>) : int -> int -> boolval (=) : int -> int -> boolval (>) : int -> int -> boolval (>=) : int -> int -> boolval compare : int -> int -> intval ascending : int -> int -> intval descending : int -> int -> intval equal : int -> int -> boolval max : int -> int -> intval min : int -> int -> int
include Float.O_dot
val (|>) : 'a -> ('a -> 'b) -> 'bReverse application operator.
x |> g |> fis equivalent tof (g (x)).
val (&&) : bool -> bool -> boolval (||) : bool -> bool -> boolval not : bool -> boolval ignore : _ -> unit
val raise : exn -> _
val failwith : string -> 'aval invalid_arg : string -> 'aval raise_s : Sexp.t -> 'a
val force : 'a Lazy.t -> 'a
module Continue_or_stop : sig ... endContinue_or_stop.tis used by thefargument tofold_untilin order to indicate whether folding should continue, or stop early.
exception Not_found_s of Sexplib0.Sexp.t