Base | |
Base__ | |
Base__Applicative | |
Base__Applicative_intf | Applicatives model computations in which values computed by subcomputations cannot
affect what subsequent computations will take place. Relative to monads, this
restriction takes power away from the user of the interface and gives it to the
implementation. In particular, because the structure of the entire computation is
known, one can augment its definition with some description of that structure. |
Base__Array | |
Base__Array0 | |
Base__Array_permute | An internal-only module factored out due to a circular dependency between core_array
and core_list. Contains code for permuting an array. |
Base__Avltree | A low-level, mutable AVL tree. |
Base__Backtrace | Dealing with stack backtraces. |
Base__Binary_search | General functions for performing binary searches over ordered sequences given
length and get functions. These functions can be specialized and added to
a data structure using the functors supplied in Binary_searchable and described
in Binary_searchable_intf . |
Base__Binary_searchable | See Binary_searchable_intf . |
Base__Binary_searchable_intf | Module types for a binary_search function for a sequence, and functors for building
binary_search functions. |
Base__Blit | See Blit_intf for documentation. |
Base__Blit_intf | Standard type for blit functions, and reusable code for validating blit
arguments. |
Base__Bool | |
Base__Buffer | |
Base__Buffer_intf | |
Base__Char | Character operations. |
Base__Char0 | |
Base__Commutative_group | A signature for a commutative group (in the group-theory sense). |
Base__Comparable | |
Base__Comparable_intf | |
Base__Comparator | A type-indexed value that allows one to compare (and for generating error messages,
serialize) values of the type in question. |
Base__Container | |
Base__Container_intf | This file has generic signatures for container data structures, with standard
functions (iter, fold, exists, for_all, ...) that one would expect to find in any
container. The idea is to include Container.S0 or Container.S1 in the signature
for every container-like data structure (Array, List, String, ...) to ensure a
consistent interface. |
Base__Either | |
Base__Either_intf | Many functions in Either focus on just one constructor. The Focused signature
abstracts over which constructor is the focus. To use these functions, use the
First or Second modules in S . |
Base__Equal | 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: |
Base__Error | A lazy string, implemented with Info , but intended specifically for error
messages. |
Base__Exn | sexp_of_t uses a global table of sexp converters. To register a converter for a new
exception, add [@@deriving_inline sexp][@@@end] to its definition. If no suitable converter is
found, the standard converter in Printexc will be used to generate an atomic
S-expression. |
Base__Field | OCaml record field. |
Base__Fieldslib | |
Base__Float | Floating-point representation and utilities. |
Base__Float0 | |
Base__Floatable | |
Base__Fn | various combinators for functions |
Base__Hash | |
Base__Hash_intf | Hash_intf.S is the interface which a hash-function must support |
Base__Hash_set | |
Base__Hash_set_intf | |
Base__Hasher | Signatures required of types which can be used in [@@deriving_inline hash][@@@end] . |
Base__Hashtbl | |
Base__Hashtbl_intf | |
Base__Heap_block | A heap block is a value that is guaranteed to live on the OCaml heap, and is hence
guaranteed to be usable with finalization or in a weak pointer. It is an abstract
type so we can use the type system to guarantee that the values we put in weak
pointers and use with finalizers are heap blocks. |
Base__Hex_lexer | |
Base__Identifiable | A signature combining functionality that is commonly used for types that are intended
to act as names or identifiers. |
Base__Import | |
Base__Import0 | |
Base__Indexed_container | |
Base__Indexed_container_intf | This file has generic signatures for containers that support indexed iteration (iteri,
foldi, ...). In principle, any container that has iter can also implement iteri, but
the idea is that Indexed_container_intf should be included only for containers that
have a meaningful underlying ordering. |
Base__Info | |
Base__Info_intf | Info is a library for lazily constructing human-readable information as a string or
sexp, with a primary use being error messages. Using Info is often preferable to
sprintf or manually constructing strings because you don't have to eagerly construct
the string --- you only need to pay when you actually want to display the info. which
for many applications is rare. Using Info is also better than creating custom
exceptions because you have more control over the format. |
Base__Int | OCaml's native integer type. |
Base__Int32 | An int of exactly 32 bits, regardless of the machine. |
Base__Int63 | 63-bit integers. |
Base__Int63_backend | |
Base__Int63_backends | |
Base__Int63_emul | |
Base__Int64 | |
Base__Int_conversions | Conversions between various integer types |
Base__Int_intf | |
Base__Int_math | This module is not exposed in Core. Instead, these functions are accessed and
commented in the various Core modules implementing Int_intf.S . |
Base__Int_pow2 | This module is not exposed in Base. Instead, these functions are accessed and
commented in Int. |
Base__Intable | |
Base__Invariant | |
Base__Invariant_intf | 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: |
Base__Lazy | This file is a modified version of lazy.mli from the OCaml distribution. |
Base__Linked_queue | This module is a wrapper around OCaml's standard Queue module that follows Base
idioms and adds some functions. See Queue_intf for documentation of standard queue
functions. |
Base__Linked_queue0 | |
Base__List | List operations. |
Base__List0 | |
Base__Map | |
Base__Map_intf | See map.mli for comments. |
Base__Maybe_bound | |
Base__Monad | |
Base__Monad_intf | |
Base__Nativeint | |
Base__Option | |
Base__Or_error | Type for tracking errors in an Error.t. This is a specialization of the Result type,
where the Error constructor carries an Error.t. |
Base__Ordered_collection_common | |
Base__Ordering | Ordering is intended to make code that matches on the result of a comparison
more concise and easier to read. For example, one would write: |
Base__Poly | Poly is a convenient shorthand for Polymorphic_compare in the common case that one
wants to use a polymorphic comparator directly in an expression, e.g. Poly.equal a
b . |
Base__Polymorphic_compare | 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, typically by No_polymorphic_compare . |
Base__Polymorphic_compare_intf | Interfaces used for hiding and replacing polymorphic compare. Including a module with
interface S should hide the majority of functions that use polymorphic compare. |
Base__Popcount | This module exposes popcount functions for the various integer types. Functions are
exposed in their respective modules. |
Base__Pow_overflow_bounds | |
Base__Ppx_compare_lib | Runtime support for auto-generated comparators. Users are not intended to use this
module directly. |
Base__Ppx_hash_lib | |
Base__Pretty_printer | A list of pretty printers for various types, for use in toplevels. |
Base__Printf | |
Base__Queue_intf | An interface for queues that follows Base's conventions, as opposed to OCaml's
standard Queue module. |
Base__Random | This is a slightly modified version of the OCaml standard library's random.mli. We
want Base's Random module to be different from OCaml's standard one: |
Base__Ref | Module for the type ref |
Base__Result | Result is often used to handle error messages. |
Base__Sequence | A sequence of elements that can be produced one at a time, on demand, normally with no
sharing. |
Base__Set | |
Base__Set_intf | See set.mli for comments. |
Base__Sexp | |
Base__Sexp_with_comparable | |
Base__Sexpable | New code should use the @@deriving_inline sexp @@@end syntax directly. These module types
(S, S1, S2, and S3) are exported for backwards compatibility only. * |
Base__Sexplib | |
Base__Sign | A simple type for representing the sign of a numeric value. |
Base__Sign0 | |
Base__Source_code_position | One typically obtains a Source_code_position.t using a [%here] expression, which
is implemented by the ppx_here preprocessor. |
Base__Source_code_position0 | |
Base__Staged | A type for making staging explicit in the type of a function. For example, you might
want to have a function that creates a function for allocating unique identifiers.
Rather than using the type: |
Base__String | An extension of the standard StringLabels. If you open Base , you'll get these in
the String module. |
Base__String0 | |
Base__String_dict | Efficient static string dictionaries. By static, we mean that new key-value pairs
cannot be added after the dictionary is created. |
Base__String_set_primitives | |
Base__Stringable | |
Base__Sys | Cross-platform system configuration values. |
Base__Sys0 | |
Base__T | |
Base__Type_equal | For representing type equalities otherwise not known by the type-checker. |
Base__Uchar | Unicode character operations. |
Base__Uchar0 | |
Base__Unit | Module for the type unit |
Base__Validate | A module for organizing validations of data structures. Allows standardized ways of
checking for conditions, and keeps track of the location of errors by keeping a path
to each error found. Thus, if you were validating the following datastructure: |
Base__Variant | OCaml variant type. |
Base__Variantslib | |
Base__With_return | with_return f allows for something like the return statement in C within f . There
are three ways f can terminate: |
Base__Word_size | For determining the word size that the program is using. |