jon.recoil.org

Module BaseSource

This module is the toplevel of the Base library; it's what you get when you write open Base.

The goal of Base is both to be a more complete standard library, with richer APIs, and to be more consistent in its design. For instance, in the standard library some things have modules and others don't; in Base, everything is a module.

Base extends some modules and data structures from the standard library, like Array, Buffer, Bytes, Char, Hashtbl, Int32, Int64, Lazy, List, Map, Nativeint, Printf, Random, Set, String, Sys, and Uchar. One key difference is that Base doesn't use exceptions as much as the standard library and instead makes heavy use of the Result type, as in:

  type ('a, 'b) result =
    | Ok of 'a
    | Error of 'b

Base also adds entirely new modules, most notably:

Sourcemodule Applicative : sig ... end
Sourcemodule Array : sig ... end
Sourcemodule Avltree : sig ... end

A low-level, mutable AVL tree.

Sourcemodule Backtrace : sig ... end

Module for managing stack backtraces.

Functions for performing binary searches over ordered sequences given length and get functions.

Sourcemodule Binary_searchable : sig ... end
Sourcemodule Blit : sig ... end
Sourcemodule Bool : sig ... end

Boolean type extended to be enumerable, hashable, sexpable, comparable, and stringable.

Sourcemodule Buffer : sig ... end

Extensible character buffers.

Sourcemodule Bytes : sig ... end
Sourcemodule Char : sig ... end

A type for 8-bit characters.

Sourcemodule Comparable : sig ... end
Sourcemodule Comparator : sig ... end
Sourcemodule Comparisons : sig ... end

Interfaces for infix comparison operators and comparison functions.

Sourcemodule Container : sig ... end
Sourcemodule Dynamic : sig ... end

A value of type 'a Dynamic.t is a dynamically scoped variable of type 'a.

Sourcemodule Either : sig ... end
Sourcemodule Equal : sig ... end

This module defines signatures that are to be included in other signatures to ensure a consistent interface to equal functions. There is a signature (S, S1, S2, S3) for each arity of type. Usage looks like:

Sourcemodule Error : sig ... end
Sourcemodule Exn : sig ... end

Exceptions.

Sourcemodule Field : sig ... end

OCaml record field.

Sourcemodule Float : sig ... end
Sourcemodule Floatable : sig ... end

Module type with float conversion functions.

Sourcemodule Fn : sig ... end

Various combinators for functions.

Sourcemodule Formatter : sig ... end

The Format.formatter type from OCaml's standard library, exported here for convenience and compatibility with other libraries.

Sourcemodule Hash_set : sig ... end
Sourcemodule Hashable : sig ... end
Sourcemodule Hasher : sig ... end

Signatures required of types which can be used in [@@deriving hash].

Sourcemodule Hashtbl : sig ... end
Sourcemodule Iarray : sig ... end
Sourcemodule Identifiable : sig ... end
Sourcemodule Indexed_container : sig ... end
Sourcemodule Info : sig ... end
Sourcemodule Int : sig ... end
Sourcemodule Int32 : sig ... end

An int of exactly 32 bits, regardless of the machine.

Sourcemodule Int63 : sig ... end

63-bit integers.

Sourcemodule Int64 : sig ... end

64-bit integers.

Sourcemodule Intable : sig ... end

Functor that adds integer conversion functions to a module.

Sourcemodule Int_math : sig ... end

This module implements derived integer operations (e.g., modulo, rounding to multiples) based on other basic operations.

Sourcemodule Invariant : sig ... end

This module defines signatures that are to be included in other signatures to ensure a consistent interface to invariant-style functions. There is a signature (S, S1, S2, S3) for each arity of type. Usage looks like:

Sourcemodule Dictionary_immutable : sig ... end
Sourcemodule Dictionary_mutable : sig ... end
Sourcemodule Lazy : sig ... end

A value of type 'a Lazy.t is a deferred computation, called a suspension, that has a result of type 'a.

Sourcemodule List : sig ... end

Immutable, 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.

Sourcemodule Map : sig ... end
Sourcemodule Maybe_bound : sig ... end

Used for specifying a bound (either upper or lower) as inclusive, exclusive, or unbounded.

Sourcemodule Modes : sig ... end
Sourcemodule Monad : sig ... end
Sourcemodule Nativeint : sig ... end

Processor-native integers.

Sourcemodule Nothing : sig ... end

An 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.

Sourcemodule Obj : sig ... end

Versions of Stdlib.Obj functions that work with modes. Note it is never safe to magic a local value to global.

Sourcemodule Option : sig ... end

The option type indicates whether a meaningful value is present. It is frequently used to represent success or failure, using None for failure. To be more descriptive about why a function failed, see the Or_error module.

Sourcemodule Option_array : sig ... end

'a Option_array.t is a compact representation of 'a option array: it avoids allocating heap objects representing Some x, usually representing them with x instead. It uses a special representation for None that's guaranteed to never collide with any representation of Some x.

Sourcemodule Or_error : sig ... end

Type for tracking errors in an Error.t. This is a specialization of the Result type, where the Error constructor carries an Error.t.

Sourcemodule Or_null : sig ... end

'a or_null, or the unboxed option type, represents a value of type 'a or its absence. Similar to option, it has two constructors, Null and This a.

Sourcemodule Ordered_collection_common : sig ... end

Functions for ordered collections.

Sourcemodule Ordering : sig ... end

Ordering is intended to make code that matches on the result of a comparison more concise and easier to read.

Sourcemodule Poly : sig ... end

A module containing the ad-hoc polymorphic comparison functions. Useful when you want to use polymorphic compare in some small scope of a file within which polymorphic compare has been hidden

Sourcemodule Portability_hacks = Basement.Portability_hacks
Sourcemodule Portable_lazy : sig ... end

A value of type 'a Portable_lazy.t is a deferred computation that has a result of type 'a.

Sourcemodule Pretty_printer : sig ... end

A list of pretty printers for various types, for use in toplevels.

Sourcemodule Printf : sig ... end

Functions for formatted output.

Sourcemodule Linked_queue : sig ... end

This module is a Base-style wrapper around OCaml's standard Queue module.

Sourcemodule Nonempty_list : sig ... end

A 'a t represents a non-empty list, as evidenced by the fact that there is no [] variant. The sexp representation is as a regular list (i.e., the same as the Stable.V3 module below).

Sourcemodule Queue : sig ... end
Sourcemodule Random : sig ... end

Pseudo-random number generation.

Sourcemodule Ref : sig ... end

Module for the type ref, mutable indirection cells r containing a value of type 'a, accessed with !r and set by r := a.

Sourcemodule Result : sig ... end

Result is often used to handle error messages.

Sourcemodule Sequence : sig ... end

A sequence of elements that can be produced one at a time, on demand, normally with no sharing.

Sourcemodule Set : sig ... end
Sourcemodule Sexp : sig ... end
Sourcemodule Sexpable : sig ... end

Provides functors for making modules sexpable when you want the sexp representation of one type to be the same as that for some other isomorphic type.

Sourcemodule Sign : sig ... end

A type for representing the sign of a numeric value.

Sourcemodule Sign_or_nan : sig ... end

An extension to Sign with a Nan constructor, for representing the sign of float-like numeric values.

Sourcemodule Source_code_position : sig ... end

One typically obtains a Source_code_position.t using a [%here] expression, which is implemented by the ppx_here preprocessor.

Sourcemodule Stack : sig ... end
Sourcemodule Staged : sig ... end

A type for making staging explicit in the type of a function.

Sourcemodule String : sig ... end
Sourcemodule Stringable : sig ... end

Provides type-specific conversion functions to and from string.

Sourcemodule Sys : sig ... end

Cross-platform system configuration values.

Sourcemodule T : sig ... end

This 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.

Sourcemodule Toplevel_value : sig ... end

This module provides a wrapper that can be used to simulate having toplevel items of non-value layout in modules. For example,

Sourcemodule Type_equal : sig ... end
Sourcemodule Uniform_array : sig ... end

Same semantics as 'a Array.t, except it's guaranteed that the representation array is not tagged with Double_array_tag, the tag for float arrays.

Sourcemodule Unit : sig ... end

Module for the type unit.

Sourcemodule Uchar : sig ... end
Sourcemodule Variant : sig ... end

First-class representative of an individual variant in a variant type, used in [@@deriving variants].

Sourcemodule With_return : sig ... end

with_return f allows for something like the return statement in C within f.

Sourcemodule Word_size : sig ... end

For determining the word size that the program is using.

include module type of struct include T end
Sourcemodule type T = T.T
include sig ... end
Sourcemodule type T1 = T.T1
include sig ... end
Sourcemodule type T2 = T.T2
include sig ... end
Sourcemodule type T3 = T.T3
include sig ... end
Sourcemodule type T4 = T.T4
Sourcemodule Int_conversions : sig ... end
Sourcemodule Export : sig ... end
include module type of struct include Base.Export end
Sourcetype 'a array = 'a Array.t
include sig ... end
Sourceval compare_array : 'a. ('a -> 'a -> int) -> 'a Array.t -> 'a Array.t -> int
Sourceval compare_array__local : 'a. ('a @ once -> 'a @ once -> int) -> 'a Array.t @ once -> 'a Array.t @ once -> int
Sourceval equal_array : 'a. ('a -> 'a -> bool) -> 'a Array.t -> 'a Array.t -> bool
Sourceval equal_array__local : 'a. ('a @ once -> 'a @ once -> bool) -> 'a Array.t @ once -> 'a Array.t @ once -> bool
Sourceval globalize_array : 'a. ('a @ once -> 'a) -> 'a Array.t @ once -> 'a Array.t
Sourceval sexp_of_array : 'a. ('a -> Sexplib0.Sexp.t) -> 'a Array.t -> Sexplib0.Sexp.t
Sourceval sexp_of_array__stack : 'a. ('a @ once -> Sexplib0.Sexp.t @ once) -> 'a Array.t @ once -> Sexplib0.Sexp.t @ once
Sourceval array_of_sexp : 'a. (Sexplib0.Sexp.t -> 'a) -> Sexplib0.Sexp.t -> 'a Array.t
Sourceval array_sexp_grammar : 'a. 'a Sexplib0.Sexp_grammar.t -> 'a Array.t Sexplib0.Sexp_grammar.t @@ portable
Sourcetype bool = Bool.t
include sig ... end
Sourceval compare_bool__local : Base.bool @ once -> Base.bool @ once -> int
Sourceval compare_bool : Base.bool -> Base.bool -> int
Sourceval equal_bool__local : Base.bool @ once -> Base.bool @ once -> Base.bool
Sourceval equal_bool : Base.bool -> Base.bool -> Base.bool
Sourceval globalize_bool : Base.bool @ once -> Base.bool
Sourceval bool_of_sexp : Sexplib0.Sexp.t -> Base.bool
Sourceval sexp_of_bool : Base.bool -> Sexplib0.Sexp.t
Sourceval sexp_of_bool__stack : Base.bool @ once -> Sexplib0.Sexp.t @ once
Sourcetype char = Char.t
include sig ... end
Sourceval compare_char__local : Base.char @ once -> Base.char @ once -> int
Sourceval compare_char : Base.char -> Base.char -> int
Sourceval equal_char__local : Base.char @ once -> Base.char @ once -> Base.bool
Sourceval equal_char : Base.char -> Base.char -> Base.bool
Sourceval globalize_char : Base.char @ once -> Base.char
Sourceval char_of_sexp : Sexplib0.Sexp.t -> Base.char
Sourceval sexp_of_char : Base.char -> Sexplib0.Sexp.t
Sourceval sexp_of_char__stack : Base.char @ once -> Sexplib0.Sexp.t @ once
Sourcetype exn = Exn.t
include sig ... end
Sourceval sexp_of_exn : Base.exn -> Sexplib0.Sexp.t
Sourcetype float = Float.t
include sig ... end
Sourceval compare_float__local : Base.float @ once -> Base.float @ once -> int
Sourceval compare_float : Base.float -> Base.float -> int
Sourceval equal_float__local : Base.float @ once -> Base.float @ once -> Base.bool
Sourceval equal_float : Base.float -> Base.float -> Base.bool
Sourceval globalize_float : Base.float @ once -> Base.float
Sourceval float_of_sexp : Sexplib0.Sexp.t -> Base.float
Sourceval sexp_of_float : Base.float -> Sexplib0.Sexp.t
Sourceval sexp_of_float__stack : Base.float @ once -> Sexplib0.Sexp.t @ once
Sourceval float_sexp_grammar : Base.float Sexplib0.Sexp_grammar.t
Sourcetype 'a iarray = 'a Iarray.t
include sig ... end
include sig ... end
Sourceval compare_iarray : 'a. ('a -> 'a -> int) -> 'a Iarray.t -> 'a Iarray.t -> int
Sourceval compare_iarray__local : 'a. ('a @ once -> 'a @ once -> int) -> 'a Iarray.t @ once -> 'a Iarray.t @ once -> int
Sourceval equal_iarray : 'a. ('a -> 'a -> Base.bool) -> 'a Iarray.t -> 'a Iarray.t -> Base.bool
Sourceval equal_iarray__local : 'a. ('a @ once -> 'a @ once -> Base.bool) -> 'a Iarray.t @ once -> 'a Iarray.t @ once -> Base.bool
Sourceval globalize_iarray : 'a. ('a @ once -> 'a) -> 'a Iarray.t @ once -> 'a Iarray.t
Sourceval sexp_of_iarray : ('a -> Sexplib0.Sexp.t) -> 'a Iarray.t -> Sexplib0.Sexp.t
Sourceval sexp_of_iarray__stack : ('a @ once -> Sexplib0.Sexp.t @ once) -> 'a Iarray.t @ once -> Sexplib0.Sexp.t @ once
Sourceval iarray_of_sexp : (Sexplib0.Sexp.t -> 'a) -> Sexplib0.Sexp.t -> 'a Iarray.t
Sourceval iarray_sexp_grammar : 'a. 'a Sexplib0.Sexp_grammar.t -> 'a Iarray.t Sexplib0.Sexp_grammar.t @@ portable
Sourcetype int = Int.t
include sig ... end
Sourceval compare_int__local : Base.int @ once -> Base.int @ once -> Base.int
Sourceval compare_int : Base.int -> Base.int -> Base.int
Sourceval equal_int__local : Base.int @ once -> Base.int @ once -> Base.bool
Sourceval equal_int : Base.int -> Base.int -> Base.bool
Sourceval globalize_int : Base.int @ once -> Base.int
Sourceval int_of_sexp : Sexplib0.Sexp.t -> Base.int
Sourceval sexp_of_int : Base.int -> Sexplib0.Sexp.t
Sourceval sexp_of_int__stack : Base.int @ once -> Sexplib0.Sexp.t @ once
Sourcetype int32 = Int32.t
include sig ... end
Sourceval compare_int32__local : Base.int32 @ once -> Base.int32 @ once -> Base.int
Sourceval compare_int32 : Base.int32 -> Base.int32 -> Base.int
Sourceval equal_int32__local : Base.int32 @ once -> Base.int32 @ once -> Base.bool
Sourceval equal_int32 : Base.int32 -> Base.int32 -> Base.bool
Sourceval globalize_int32 : Base.int32 @ once -> Base.int32
Sourceval int32_of_sexp : Sexplib0.Sexp.t -> Base.int32
Sourceval sexp_of_int32 : Base.int32 -> Sexplib0.Sexp.t
Sourceval sexp_of_int32__stack : Base.int32 @ once -> Sexplib0.Sexp.t @ once
Sourceval int32_sexp_grammar : Base.int32 Sexplib0.Sexp_grammar.t
Sourcetype int64 = Int64.t
include sig ... end
Sourceval compare_int64__local : Base.int64 @ once -> Base.int64 @ once -> Base.int
Sourceval compare_int64 : Base.int64 -> Base.int64 -> Base.int
Sourceval equal_int64__local : Base.int64 @ once -> Base.int64 @ once -> Base.bool
Sourceval equal_int64 : Base.int64 -> Base.int64 -> Base.bool
Sourceval globalize_int64 : Base.int64 @ once -> Base.int64
Sourceval int64_of_sexp : Sexplib0.Sexp.t -> Base.int64
Sourceval sexp_of_int64 : Base.int64 -> Sexplib0.Sexp.t
Sourceval sexp_of_int64__stack : Base.int64 @ once -> Sexplib0.Sexp.t @ once
Sourceval int64_sexp_grammar : Base.int64 Sexplib0.Sexp_grammar.t
Sourcetype ('a : value_or_null) list = 'a List.t
include sig ... end
Sourceval compare_list__local : 'a. ('a @ once -> 'a @ once -> Base.int) -> 'a Base.list @ once -> 'a Base.list @ once -> Base.int
Sourceval compare_list : 'a. ('a -> 'a -> Base.int) -> 'a Base.list -> 'a Base.list -> Base.int
Sourceval equal_list__local : 'a. ('a @ once -> 'a @ once -> Base.bool) -> 'a Base.list @ once -> 'a Base.list @ once -> Base.bool
Sourceval equal_list : 'a. ('a -> 'a -> Base.bool) -> 'a Base.list -> 'a Base.list -> Base.bool
Sourceval globalize_list : 'a. ('a @ once -> 'a) -> 'a Base.list @ once -> 'a Base.list
Sourceval list_of_sexp : 'a. (Sexplib0.Sexp.t -> 'a) -> Sexplib0.Sexp.t -> 'a Base.list
Sourceval sexp_of_list : 'a. ('a -> Sexplib0.Sexp.t) -> 'a Base.list -> Sexplib0.Sexp.t
Sourceval sexp_of_list__stack : 'a. ('a @ once -> Sexplib0.Sexp.t @ once) -> 'a Base.list @ once -> Sexplib0.Sexp.t @ once
Sourcetype nativeint = Nativeint.t
include sig ... end
Sourceval compare_nativeint__local : Base.nativeint @ once -> Base.nativeint @ once -> Base.int
Sourceval compare_nativeint : Base.nativeint -> Base.nativeint -> Base.int
Sourceval equal_nativeint__local : Base.nativeint @ once -> Base.nativeint @ once -> Base.bool
Sourceval equal_nativeint : Base.nativeint -> Base.nativeint -> Base.bool
Sourceval globalize_nativeint : Base.nativeint @ once -> Base.nativeint
Sourceval nativeint_of_sexp : Sexplib0.Sexp.t -> Base.nativeint
Sourceval sexp_of_nativeint : Base.nativeint -> Sexplib0.Sexp.t
Sourceval sexp_of_nativeint__stack : Base.nativeint @ once -> Sexplib0.Sexp.t @ once
Sourceval nativeint_sexp_grammar : Base.nativeint Sexplib0.Sexp_grammar.t
Sourcetype ('a : value_or_null) option = 'a Option.t
include sig ... end
Sourceval compare_option__local : 'a. ('a @ once -> 'a @ once -> Base.int) -> 'a Base.option @ once -> 'a Base.option @ once -> Base.int
Sourceval compare_option : 'a. ('a -> 'a -> Base.int) -> 'a Base.option -> 'a Base.option -> Base.int
Sourceval equal_option__local : 'a. ('a @ once -> 'a @ once -> Base.bool) -> 'a Base.option @ once -> 'a Base.option @ once -> Base.bool
Sourceval equal_option : 'a. ('a -> 'a -> Base.bool) -> 'a Base.option -> 'a Base.option -> Base.bool
Sourceval globalize_option : 'a. ('a @ once -> 'a) -> 'a Base.option @ once -> 'a Base.option
Sourceval option_of_sexp : 'a. (Sexplib0.Sexp.t -> 'a) -> Sexplib0.Sexp.t -> 'a Base.option
Sourceval sexp_of_option : 'a. ('a -> Sexplib0.Sexp.t) -> 'a Base.option -> Sexplib0.Sexp.t
Sourceval sexp_of_option__stack : 'a. ('a @ once -> Sexplib0.Sexp.t @ once) -> 'a Base.option @ once -> Sexplib0.Sexp.t @ once
Sourcetype nonrec ('a : bits64) option__bits64
Sourceand ('a : bits32) option__bits32
Sourceand ('a : word) option__word
Sourceand ('a : float64) option__float64
Sourceand ('a : float32) option__float32
Sourcetype (('a : value_or_null), ('b : value_or_null)) result = ('a, 'b) Result.t
include sig ... end
Sourceval compare_result__local : 'a 'b. ('a @ once -> 'a @ once -> Base.int) -> ('b @ once -> 'b @ once -> Base.int) -> ('a, 'b) Base.result @ once -> ('a, 'b) Base.result @ once -> Base.int
Sourceval compare_result : 'a 'b. ('a -> 'a -> Base.int) -> ('b -> 'b -> Base.int) -> ('a, 'b) Base.result -> ('a, 'b) Base.result -> Base.int
Sourceval equal_result__local : 'a 'b. ('a @ once -> 'a @ once -> Base.bool) -> ('b @ once -> 'b @ once -> Base.bool) -> ('a, 'b) Base.result @ once -> ('a, 'b) Base.result @ once -> Base.bool
Sourceval equal_result : 'a 'b. ('a -> 'a -> Base.bool) -> ('b -> 'b -> Base.bool) -> ('a, 'b) Base.result -> ('a, 'b) Base.result -> Base.bool
Sourceval globalize_result : 'a 'b. ('a @ once -> 'a) -> ('b @ once -> 'b) -> ('a, 'b) Base.result @ once -> ('a, 'b) Base.result
Sourceval result_of_sexp : 'a 'b. (Sexplib0.Sexp.t -> 'a) -> (Sexplib0.Sexp.t -> 'b) -> Sexplib0.Sexp.t -> ('a, 'b) Base.result
Sourceval sexp_of_result : 'a 'b. ('a -> Sexplib0.Sexp.t) -> ('b -> Sexplib0.Sexp.t) -> ('a, 'b) Base.result -> Sexplib0.Sexp.t
Sourceval sexp_of_result__stack : 'a 'b. ('a @ once -> Sexplib0.Sexp.t @ once) -> ('b @ once -> Sexplib0.Sexp.t @ once) -> ('a, 'b) Base.result @ once -> Sexplib0.Sexp.t @ once
Sourcetype nonrec (('a : bits64), ('b : value_or_null)) result__bits64
Sourceand (('a : bits32), ('b : value_or_null)) result__bits32
Sourceand (('a : word), ('b : value_or_null)) result__word
Sourceand (('a : float64), ('b : value_or_null)) result__float64
Sourceand (('a : float32), ('b : value_or_null)) result__float32
Sourcetype ('a : value_or_null) ref = 'a Ref.t
include sig ... end
Sourceval compare_ref__local : 'a. ('a @ once -> 'a @ once -> Base.int) -> 'a Base.ref @ once -> 'a Base.ref @ once -> Base.int
Sourceval compare_ref : 'a. ('a -> 'a -> Base.int) -> 'a Base.ref -> 'a Base.ref -> Base.int
Sourceval equal_ref__local : 'a. ('a @ once -> 'a @ once -> Base.bool) -> 'a Base.ref @ once -> 'a Base.ref @ once -> Base.bool
Sourceval equal_ref : 'a. ('a -> 'a -> Base.bool) -> 'a Base.ref -> 'a Base.ref -> Base.bool
Sourceval globalize_ref : 'a. ('a @ once -> 'a) -> 'a Base.ref @ once -> 'a Base.ref
Sourceval ref_of_sexp : 'a. (Sexplib0.Sexp.t -> 'a) -> Sexplib0.Sexp.t -> 'a Base.ref
Sourceval sexp_of_ref : 'a. ('a -> Sexplib0.Sexp.t) -> 'a Base.ref -> Sexplib0.Sexp.t
Sourceval sexp_of_ref__stack : 'a. ('a @ once -> Sexplib0.Sexp.t @ once) -> 'a Base.ref @ once -> Sexplib0.Sexp.t @ once
Sourcetype string = String.t
include sig ... end
Sourceval compare_string__local : Base.string @ once -> Base.string @ once -> Base.int
Sourceval compare_string : Base.string -> Base.string -> Base.int
Sourceval equal_string__local : Base.string @ once -> Base.string @ once -> Base.bool
Sourceval equal_string : Base.string -> Base.string -> Base.bool
Sourceval globalize_string : Base.string @ once -> Base.string
Sourceval string_of_sexp : Sexplib0.Sexp.t -> Base.string
Sourceval sexp_of_string : Base.string -> Sexplib0.Sexp.t
Sourceval sexp_of_string__stack : Base.string @ once -> Sexplib0.Sexp.t @ once
Sourceval string_sexp_grammar : Base.string Sexplib0.Sexp_grammar.t
Sourcetype bytes = Bytes.t
include sig ... end
Sourceval compare_bytes__local : Base.bytes @ once -> Base.bytes @ once -> Base.int
Sourceval compare_bytes : Base.bytes -> Base.bytes -> Base.int
Sourceval equal_bytes__local : Base.bytes @ once -> Base.bytes @ once -> Base.bool
Sourceval equal_bytes : Base.bytes -> Base.bytes -> Base.bool
Sourceval globalize_bytes : Base.bytes @ once -> Base.bytes
Sourceval bytes_of_sexp : Sexplib0.Sexp.t -> Base.bytes
Sourceval sexp_of_bytes : Base.bytes -> Sexplib0.Sexp.t
Sourceval sexp_of_bytes__stack : Base.bytes @ once -> Sexplib0.Sexp.t @ once
Sourceval bytes_sexp_grammar : Base.bytes Sexplib0.Sexp_grammar.t
Sourcetype unit = Unit.t
include sig ... end
Sourceval compare_unit__local : Base.unit @ once -> Base.unit @ once -> Base.int
Sourceval compare_unit : Base.unit -> Base.unit -> Base.int
Sourceval equal_unit__local : Base.unit @ once -> Base.unit @ once -> Base.bool
Sourceval equal_unit : Base.unit -> Base.unit -> Base.bool
Sourceval globalize_unit : Base.unit @ once -> Base.unit
Sourceval unit_of_sexp : Sexplib0.Sexp.t -> Base.unit
Sourceval sexp_of_unit : Base.unit -> Sexplib0.Sexp.t
Sourceval sexp_of_unit__stack : Base.unit @ once -> Sexplib0.Sexp.t @ once

Format stuff

Sourcetype nonrec ('a, 'b, 'c) format = ('a, 'b, 'c) Stdlib.format
Sourcetype nonrec ('a, 'b, 'c, 'd) format4 = ('a, 'b, 'c, 'd) Stdlib.format4
Sourcetype nonrec ('a, 'b, 'c, 'd, 'e, 'f) format6 = ('a, 'b, 'c, 'd, 'e, 'f) Stdlib.format6

List operators

include module type of struct include List.Infix end
Sourceval (@) : ('a : value_or_null). 'a Base.List.t -> 'a Base.List.t -> 'a Base.List.t

Iarray operators

include module type of struct include Iarray.O end
val (.:()) : 'a. 'a Basement.Stdlib_iarray_labels.t -> int -> 'a

An alias for get.

Int operators and comparisons

include module type of struct include Int.O end
Sourceval (**) : Base.Int.t @ local -> Base.Int.t @ local -> Base.Int.t
Sourceval lnot : Base.Int.t @ local -> Base.Int.t
Sourceval abs_local : Base.Int.t @ local -> Base.Int.t @ local
Sourceval zero : Base.Int.t
Sourceval (%) : Base.Int.t @ local -> Base.Int.t @ local -> Base.Int.t
Sourceval (/%) : Base.Int.t @ local -> Base.Int.t @ local -> Base.Int.t
Sourceval (//) : Base.Int.t @ local -> Base.Int.t @ local -> float
Sourceval (lsl) : Base.Int.t -> int -> Base.Int.t
Sourceval (asr) : Base.Int.t -> int -> Base.Int.t
Sourceval (lsr) : Base.Int.t -> int -> Base.Int.t
val (=) : int -> int -> bool @@ portable
val (<>) : int -> int -> bool @@ portable
val (<) : int -> int -> bool @@ portable
val (>) : int -> int -> bool @@ portable
val (<=) : int -> int -> bool @@ portable
val (>=) : int -> int -> bool @@ portable
val compare : int -> int -> int @@ portable
val compare__local : int -> int -> int @@ portable
val equal : int -> int -> bool @@ portable
val equal__local : int -> int -> bool @@ portable
val ascending : int -> int -> int @@ portable
val descending : int -> int -> int @@ portable
val max : int -> int -> int @@ portable
val min : int -> int -> int @@ portable

Float operators

Sourceval (|>) : ('a : any) ('b : any). 'a -> ('a -> 'b) -> 'b @@ portable

Reverse application operator. x |> g |> f is equivalent to f (g (x)).

Sourceval (@@) : ('a : any) ('b : any). ('a -> 'b) -> 'a -> 'b @@ portable

Application operator. g @@ f @@ x is equivalent to g (f (x)).

Boolean operations

Sourceval (&&) : Base.bool -> Base.bool -> Base.bool @@ portable
Sourceval (||) : Base.bool -> Base.bool -> Base.bool @@ portable
Sourceval not : Base.bool -> Base.bool @@ portable
Sourceval ignore : ('a : any). 'a @ once contended -> Base.unit @@ portable
Sourceval (^) : String.t @ once -> String.t @ once -> String.t

Common string operations

Reference operations

Sourceval (!) : ('a : value_or_null). 'a Base.ref -> 'a @@ stateless
Sourceval ref : ('a : value_or_null). 'a -> 'a Base.ref @@ stateless
Sourceval (:=) : ('a : value_or_null). 'a Base.ref -> 'a -> Base.unit @@ stateless

Pair operations

Sourceval fst : ('a : value_or_null) ('b : value_or_null). ('a * 'b) -> 'a @@ portable
Sourceval snd : ('a : value_or_null) ('b : value_or_null). ('a * 'b) -> 'b @@ portable

Exceptions stuff

Sourceval raise : ('a : value_or_null). Base.exn -> 'a @ portable portable @@ stateless
Sourceval failwith : string -> 'a @ portable portable
Sourceval invalid_arg : string -> 'a @ portable portable
Sourceval raise_s : Sexplib0.Sexp.t -> 'a @ portable

Misc

Sourceval phys_equal : ('a : value_or_null). 'a @ contended -> 'a @ contended -> Base.bool @@ portable
Sourceval force : 'a Lazy.t -> 'a @@ portable
Sourcetype 'a or_null = 'a Or_null.t
include sig ... end
Sourceval compare_or_null__local : 'a. ('a @ once -> 'a @ once -> Base.int) -> 'a Base.or_null @ once -> 'a Base.or_null @ once -> Base.int
Sourceval compare_or_null : 'a. ('a -> 'a -> Base.int) -> 'a Base.or_null -> 'a Base.or_null -> Base.int
Sourceval equal_or_null__local : 'a. ('a @ once -> 'a @ once -> Base.bool) -> 'a Base.or_null @ once -> 'a Base.or_null @ once -> Base.bool
Sourceval equal_or_null : 'a. ('a -> 'a -> Base.bool) -> 'a Base.or_null -> 'a Base.or_null -> Base.bool
Sourceval globalize_or_null : 'a. ('a @ once -> 'a) -> 'a Base.or_null @ once -> 'a Base.or_null
Sourceval or_null_of_sexp : 'a. (Sexplib0.Sexp.t -> 'a) -> Sexplib0.Sexp.t -> 'a Base.or_null
Sourceval sexp_of_or_null : 'a. ('a -> Sexplib0.Sexp.t) -> 'a Base.or_null -> Sexplib0.Sexp.t
Sourceval sexp_of_or_null__stack : 'a. ('a @ once -> Sexplib0.Sexp.t @ once) -> 'a Base.or_null @ once -> Sexplib0.Sexp.t @ once
Sourcemodule Continue_or_stop = Container.Export.Continue_or_stop

Continue_or_stop.t is used by the f argument to fold_until in order to indicate whether folding should continue, or stop early.

include module type of struct include Modes.Export end
Sourcetype ('a : value_or_null) global = 'a Base.Modes.Global.t = {
  1. global : 'a;
}
include sig ... end
Sourceval compare_global : ('a : value_or_null). (('a : value_or_null) -> ('a : value_or_null) -> int) -> ('a : value_or_null) Base.global -> ('a : value_or_null) Base.global -> int
Sourceval compare_global__local : ('a : value_or_null). (('a : value_or_null) @ local -> ('a : value_or_null) @ local -> int) -> ('a : value_or_null) Base.global @ local -> ('a : value_or_null) Base.global @ local -> int
Sourceval equal_global : ('a : value_or_null). (('a : value_or_null) -> ('a : value_or_null) -> bool) -> ('a : value_or_null) Base.global -> ('a : value_or_null) Base.global -> bool
Sourceval equal_global__local : ('a : value_or_null). (('a : value_or_null) @ local -> ('a : value_or_null) @ local -> bool) -> ('a : value_or_null) Base.global @ local -> ('a : value_or_null) Base.global @ local -> bool
Sourceval hash_fold_global : ('a : value_or_null). (Ppx_hash_lib.Std.Hash.state -> ('a : value_or_null) -> Ppx_hash_lib.Std.Hash.state) -> Ppx_hash_lib.Std.Hash.state -> ('a : value_or_null) Base.global -> Ppx_hash_lib.Std.Hash.state
Sourceval sexp_of_global : ('a : value_or_null). (('a : value_or_null) -> Sexplib0.Sexp.t) -> ('a : value_or_null) Base.global -> Sexplib0.Sexp.t
Sourceval sexp_of_global__stack : ('a : value_or_null). (('a : value_or_null) @ local -> Sexplib0.Sexp.t @ local) -> ('a : value_or_null) Base.global @ local -> Sexplib0.Sexp.t @ local
Sourceval global_of_sexp : ('a : value_or_null). (Sexplib0.Sexp.t -> ('a : value_or_null)) -> Sexplib0.Sexp.t -> ('a : value_or_null) Base.global
Sourceval global_sexp_grammar : ('a : value_or_null). ('a : value_or_null) Sexplib0.Sexp_grammar.t -> ('a : value_or_null) Base.global Sexplib0.Sexp_grammar.t @@ portable
Sourcetype ('a : value_or_null) portable = 'a Base.Modes.Portable.t = {
  1. portable : 'a;
}
include sig ... end
Sourceval compare_portable : ('a : value_or_null). (('a : value_or_null) -> ('a : value_or_null) -> int) -> ('a : value_or_null) Base.portable -> ('a : value_or_null) Base.portable -> int
Sourceval compare_portable__local : ('a : value_or_null). (('a : value_or_null) @ local -> ('a : value_or_null) @ local -> int) -> ('a : value_or_null) Base.portable @ local -> ('a : value_or_null) Base.portable @ local -> int
Sourceval equal_portable : ('a : value_or_null). (('a : value_or_null) -> ('a : value_or_null) -> bool) -> ('a : value_or_null) Base.portable -> ('a : value_or_null) Base.portable -> bool
Sourceval equal_portable__local : ('a : value_or_null). (('a : value_or_null) @ local -> ('a : value_or_null) @ local -> bool) -> ('a : value_or_null) Base.portable @ local -> ('a : value_or_null) Base.portable @ local -> bool
Sourceval hash_fold_portable : ('a : value_or_null). (Ppx_hash_lib.Std.Hash.state -> ('a : value_or_null) -> Ppx_hash_lib.Std.Hash.state) -> Ppx_hash_lib.Std.Hash.state -> ('a : value_or_null) Base.portable -> Ppx_hash_lib.Std.Hash.state
Sourceval sexp_of_portable : ('a : value_or_null). (('a : value_or_null) -> Sexplib0.Sexp.t) -> ('a : value_or_null) Base.portable -> Sexplib0.Sexp.t
Sourceval sexp_of_portable__stack : ('a : value_or_null). (('a : value_or_null) @ local -> Sexplib0.Sexp.t @ local) -> ('a : value_or_null) Base.portable @ local -> Sexplib0.Sexp.t @ local
Sourceval portable_sexp_grammar : ('a : value_or_null). ('a : value_or_null) Sexplib0.Sexp_grammar.t -> ('a : value_or_null) Base.portable Sexplib0.Sexp_grammar.t @@ portable
Sourcetype ('a : value_or_null) contended = 'a Base.Modes.Contended.t = {
  1. contended : 'a;
}
include sig ... end
Sourceval contended_of_sexp : ('a : value_or_null). (Sexplib0.Sexp.t -> ('a : value_or_null)) -> Sexplib0.Sexp.t -> ('a : value_or_null) Base.contended
Sourcetype ('a : value_or_null) shared = 'a Base.Modes.Shared.t = {
  1. shared : 'a;
}
include sig ... end
Sourceval shared_of_sexp : ('a : value_or_null). (Sexplib0.Sexp.t -> ('a : value_or_null)) -> Sexplib0.Sexp.t -> ('a : value_or_null) Base.shared
Sourcetype ('a : value_or_null) portended = 'a Base.Modes.Portended.t = {
  1. portended : 'a;
}
Sourcetype ('a : value_or_null) many = 'a Base.Modes.Many.t = {
  1. many : 'a;
}
include sig ... end
Sourceval compare_many : ('a : value_or_null). (('a : value_or_null) -> ('a : value_or_null) -> int) -> ('a : value_or_null) Base.many -> ('a : value_or_null) Base.many -> int
Sourceval compare_many__local : ('a : value_or_null). (('a : value_or_null) @ local -> ('a : value_or_null) @ local -> int) -> ('a : value_or_null) Base.many @ local -> ('a : value_or_null) Base.many @ local -> int
Sourceval equal_many : ('a : value_or_null). (('a : value_or_null) -> ('a : value_or_null) -> bool) -> ('a : value_or_null) Base.many -> ('a : value_or_null) Base.many -> bool
Sourceval equal_many__local : ('a : value_or_null). (('a : value_or_null) @ local -> ('a : value_or_null) @ local -> bool) -> ('a : value_or_null) Base.many @ local -> ('a : value_or_null) Base.many @ local -> bool
Sourceval hash_fold_many : ('a : value_or_null). (Ppx_hash_lib.Std.Hash.state -> ('a : value_or_null) -> Ppx_hash_lib.Std.Hash.state) -> Ppx_hash_lib.Std.Hash.state -> ('a : value_or_null) Base.many -> Ppx_hash_lib.Std.Hash.state
Sourceval sexp_of_many : ('a : value_or_null). (('a : value_or_null) -> Sexplib0.Sexp.t) -> ('a : value_or_null) Base.many -> Sexplib0.Sexp.t
Sourceval sexp_of_many__stack : ('a : value_or_null). (('a : value_or_null) @ local -> Sexplib0.Sexp.t @ local) -> ('a : value_or_null) Base.many @ local -> Sexplib0.Sexp.t @ local
Sourceval many_sexp_grammar : ('a : value_or_null). ('a : value_or_null) Sexplib0.Sexp_grammar.t -> ('a : value_or_null) Base.many Sexplib0.Sexp_grammar.t @@ portable
Sourcetype ('a : value_or_null) aliased = 'a Base.Modes.Aliased.t = {
  1. aliased : 'a;
}
Sourcetype ('a : value_or_null) aliased_many = 'a Base.Modes.Aliased_many.t = {
  1. aliased_many : 'a;
}
Sourcetype ('a : value_or_null) forkable = 'a Base.Modes.Forkable.t = {
  1. forkable : 'a;
}
Sourcetype ('a : value_or_null) unyielding = 'a Base.Modes.Unyielding.t = {
  1. unyielding : 'a;
}
include sig ... end
Sourceval compare_unyielding : ('a : value_or_null). (('a : value_or_null) -> ('a : value_or_null) -> int) -> ('a : value_or_null) Base.unyielding -> ('a : value_or_null) Base.unyielding -> int
Sourceval compare_unyielding__local : ('a : value_or_null). (('a : value_or_null) @ local -> ('a : value_or_null) @ local -> int) -> ('a : value_or_null) Base.unyielding @ local -> ('a : value_or_null) Base.unyielding @ local -> int
Sourceval equal_unyielding : ('a : value_or_null). (('a : value_or_null) -> ('a : value_or_null) -> bool) -> ('a : value_or_null) Base.unyielding -> ('a : value_or_null) Base.unyielding -> bool
Sourceval equal_unyielding__local : ('a : value_or_null). (('a : value_or_null) @ local -> ('a : value_or_null) @ local -> bool) -> ('a : value_or_null) Base.unyielding @ local -> ('a : value_or_null) Base.unyielding @ local -> bool
Sourceval hash_fold_unyielding : ('a : value_or_null). (Ppx_hash_lib.Std.Hash.state -> ('a : value_or_null) -> Ppx_hash_lib.Std.Hash.state) -> Ppx_hash_lib.Std.Hash.state -> ('a : value_or_null) Base.unyielding -> Ppx_hash_lib.Std.Hash.state
Sourceval sexp_of_unyielding : ('a : value_or_null). (('a : value_or_null) -> Sexplib0.Sexp.t) -> ('a : value_or_null) Base.unyielding -> Sexplib0.Sexp.t
Sourceval sexp_of_unyielding__stack : ('a : value_or_null). (('a : value_or_null) @ local -> Sexplib0.Sexp.t @ local) -> ('a : value_or_null) Base.unyielding @ local -> Sexplib0.Sexp.t @ local
Sourceval unyielding_of_sexp : ('a : value_or_null). (Sexplib0.Sexp.t -> ('a : value_or_null)) -> Sexplib0.Sexp.t -> ('a : value_or_null) Base.unyielding
Sourceval unyielding_sexp_grammar : ('a : value_or_null). ('a : value_or_null) Sexplib0.Sexp_grammar.t -> ('a : value_or_null) Base.unyielding Sexplib0.Sexp_grammar.t @@ portable
Sourcetype ('a : value_or_null) stateless = 'a Base.Modes.Stateless.t = {
  1. stateless : 'a;
}
Sourcetype ('a : value_or_null) observing = 'a Base.Modes.Observing.t = {
  1. observing : 'a;
}
Sourcetype ('a : value_or_null) immutable = 'a Base.Modes.Immutable.t = {
  1. immutable : 'a;
}
Sourcetype ('a : value_or_null) read = 'a Base.Modes.Read.t = {
  1. read : 'a;
}
Sourcetype 'a immutable_data = 'a Base.Modes.Immutable_data.t = {
  1. immutable_data : 'a;
}
Sourceexception Not_found_s of Sexplib0.Sexp.t