Package base

base

Base
Base__
Base__Applicative
Base__Applicative_intfApplicatives 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_permuteAn internal-only module factored out due to a circular dependency between core_array and core_list. Contains code for permuting an array.
Base__AvltreeA low-level, mutable AVL tree.
Base__BacktraceDealing with stack backtraces.
Base__Binary_searchableSee Binary_searchable_intf.
Base__Binary_searchable_intfModule types for a binary_search function for a sequence, and functors for building binary_search functions.
Base__BlitSee Blit_intf for documentation.
Base__Blit_intfStandard type for blit functions, and reusable code for validating blit arguments.
Base__Bool
Base__Buffer
Base__Buffer_intf
Base__CharCharacter operations.
Base__Char0
Base__Commutative_groupA signature for a commutative group (in the group-theory sense).
Base__Comparable
Base__Comparable_intf
Base__ComparatorA type-indexed value that allows one to compare (and for generating error messages, serialize) values of the type in question.
Base__Container
Base__Container_intfThis 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_intfMany 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__EqualThis 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__ErrorA lazy string, implemented with Info, but intended specifically for error messages.
Base__Exnsexp_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__FieldOCaml record field.
Base__Fieldslib
Base__FloatFloating-point representation and utilities.
Base__Float0
Base__Floatable
Base__Fnvarious combinators for functions
Base__Hash
Base__Hash_intfHash_intf.S is the interface which a hash-function must support
Base__Hash_set
Base__Hash_set_intf
Base__HasherSignatures required of types which can be used in [@@deriving_inline hash][@@@end].
Base__Hashtbl
Base__Hashtbl_intf
Base__Heap_blockA 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__IdentifiableA 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_intfThis 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_intfInfo 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__IntOCaml's native integer type.
Base__Int32An int of exactly 32 bits, regardless of the machine.
Base__Int6363-bit integers.
Base__Int63_backend
Base__Int63_backends
Base__Int63_emul
Base__Int64
Base__Int_conversionsConversions between various integer types
Base__Int_intf
Base__Int_mathThis module is not exposed in Core. Instead, these functions are accessed and commented in the various Core modules implementing Int_intf.S.
Base__Int_pow2This module is not exposed in Base. Instead, these functions are accessed and commented in Int.
Base__Intable
Base__Invariant
Base__Invariant_intfThis 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__LazyThis file is a modified version of lazy.mli from the OCaml distribution.
Base__Linked_queueThis 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__ListList operations.
Base__List0
Base__Map
Base__Map_intfSee map.mli for comments.
Base__Maybe_bound
Base__Monad
Base__Monad_intf
Base__Nativeint
Base__Option
Base__Or_errorType 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__OrderingOrdering 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__PolyPoly 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_compareA 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_intfInterfaces used for hiding and replacing polymorphic compare. Including a module with interface S should hide the majority of functions that use polymorphic compare.
Base__PopcountThis module exposes popcount functions for the various integer types. Functions are exposed in their respective modules.
Base__Pow_overflow_bounds
Base__Ppx_compare_libRuntime support for auto-generated comparators. Users are not intended to use this module directly.
Base__Ppx_hash_lib
Base__Pretty_printerA list of pretty printers for various types, for use in toplevels.
Base__Printf
Base__Queue_intfAn interface for queues that follows Base's conventions, as opposed to OCaml's standard Queue module.
Base__RandomThis 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__RefModule for the type ref
Base__ResultResult is often used to handle error messages.
Base__SequenceA sequence of elements that can be produced one at a time, on demand, normally with no sharing.
Base__Set
Base__Set_intfSee set.mli for comments.
Base__SexpType of S-expressions
Base__Sexp_convUtility Module for S-expression Conversions
Base__Sexp_conv_error
Base__Sexp_with_comparable
Base__SexpableNew 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__SignA simple type for representing the sign of a numeric value.
Base__Sign0
Base__Source_code_positionOne typically obtains a Source_code_position.t using a [%here] expression, which is implemented by the ppx_here preprocessor.
Base__Source_code_position0
Base__StagedA 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__StringAn extension of the standard StringLabels. If you open Base, you'll get these in the String module.
Base__String0
Base__String_dictEfficient 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__SysCross-platform system configuration values.
Base__Sys0
Base__T
Base__Type_equalFor representing type equalities otherwise not known by the type-checker.
Base__UcharUnicode character operations.
Base__Uchar0
Base__UnitModule for the type unit
Base__ValidateA 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__VariantOCaml variant type.
Base__Variantslib
Base__With_returnwith_return f allows for something like the return statement in C within f. There are three ways f can terminate:
Base__Word_sizeFor determining the word size that the program is using.
Caml
Shadow_stdlib

Info

authors
  • Jane Street Group, LLC <opensource@janestreet.com>
deps
homepage
issues
licenses
  • Apache-2.0
licenses
maintainers
  • opensource@janestreet.com
readme
version?