Module Core_kernel


module Applicative : sig .. end
module Applicative_intf : sig .. end
Applicatives model computations in which values computed by subcomputations cannot affect what subsequent computations will take place.
module Array_permute : sig .. end
An internal-only module factored out due to a circular dependency between core_array and core_list.
module Avltree : sig .. end
A low-level, mutable AVL tree.
module Avltree_unit_tests : sig .. end
module Backtrace : sig .. end
Dealing with stack backtraces.
module Bag : sig .. end
module Bigbuffer : sig .. end
Extensible string buffers based on Bigstrings.
module Bigbuffer_internal : sig .. end
module Bigstring : sig .. end
String type based on Bigarray, for use in I/O and C-bindings
module Bigstring_marshal : sig .. end
Utility functions for marshalling to and from bigstring.
module Bigsubstring : sig .. end
Substring type based on Bigarray, for use in I/O and C-bindings
module Binable : sig .. end
Module types and utilities for dealing with types that support the bin-io binary encoding.
module Binable0 : sig .. end
module Binable_and_sexpable_unit_tests : sig .. end
module Binary_packing : sig .. end
Packs and unpacks various types of integers into and from strings.
module Binary_searchable : sig .. end
module Binary_searchable_intf : sig .. end
Module types for a binary_search function for a sequence, and functors for building binary_search functions.
module Blang : sig .. end
A simple boolean domain-specific language
module Blit : sig .. end
See Blit_intf for documentation.
module Blit_intf : sig .. end
Standard type for blit functions, and reusable code for validating blit arguments.
module Bool : sig .. end
module Bounded_int_table : sig .. end
A Bounded_int_table is a table whose keys can be mapped to integers in a fixed range, 0 ...
module Bucket : sig .. end
module Bus : sig .. end
A Bus is a publisher/subscriber system within the memory space of the program.
module Bus_unit_tests : sig .. end
module Byte_units : sig .. end
Conversions between units of measure based on bytes.
module Caml : sig .. end
module Common : sig .. end
module Commutative_group : sig .. end
A signature for a commutative group (in the group-theory sense).
module Comparable : sig .. end
module Comparable_intf : sig .. end
module Comparator : sig .. end
A type-indexed value that allows one to compare (and for generating error messages, serialize) values of the type in question.
module Constrained_float : sig .. end
module Container : sig .. end
module Container_intf : sig .. end
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.
module Container_unit_tests : sig .. end
module Core_arg : sig .. end
INRIA's original command-line parsing library.
module Core_array : sig .. end
module Core_bin_prot : sig .. end
module Core_bytes : sig .. end
OCaml's built in bytes type, currently equal to string.
module Core_char : sig .. end
Character operations.
module Core_field : sig .. end
module Core_gc : sig .. end
Memory management control and statistics; finalised values.
module Core_gc_unit_tests : sig .. end
module Core_hashtbl : sig .. end
Core_hashtbl is a reimplementation of the standard MoreLabels.Hashtbl.
module Core_hashtbl_intf : sig .. end
module Core_int : sig .. end
OCaml's native integer type.
module Core_int32 : sig .. end
An int of exactly 32 bits, regardless of the machine.
module Core_int63 : sig .. end
63 or 64 bit integers.
module Core_int64 : sig .. end
module Core_lazy : sig .. end
module Core_list : sig .. end
List operations.
module Core_list0 : sig .. end
module Core_list_unit_tests : sig .. end
module Core_map : sig .. end
This module defines the Map module for Core.Std.
module Core_map_bench : sig .. end
module Core_map_intf : sig .. end
This module defines interfaces used in Core.Std.Map.
module Core_map_unit_tests : sig .. end
module Core_nativeint : sig .. end
module Core_pervasives : sig .. end
This module has exactly the same interface and implementation as INRIA's Pervasives, except that some things are deprecated in favor of Core equivalents.
module Core_printexc : sig .. end
This module is here to ensure that we don't use the functions in Caml.Printexc inadvertently
module Core_printf : sig .. end
module Core_queue : sig .. end
A queue implemented with an array.
module Core_queue_debug : sig .. end
module Core_queue_unit_tests : sig .. end
module Core_random : sig .. end
This is a slightly modified version of the OCaml standard library's random.mli.
module Core_set : sig .. end
This module defines the Set module for Core.Std.
module Core_set_intf : sig .. end
This module defines interfaces used in Core.Std.Set.
module Core_set_unit_tests : sig .. end
module Core_sexp : sig .. end
Code for managing s-expressions
module Core_stack : sig .. end
A stack implemented with an array.
module Core_string : sig .. end
An extension of the standard StringLabels.
module Core_string_unit_tests : sig .. end
module Core_weak : sig .. end
Module for dealing with weak pointers, i.e., pointers that don't prevent garbage collection of what they point to.
module Day_of_week : sig .. end
For representing a day of the week.
module Debug : sig .. end
Utilities for printing debug messages.
module Decimal : sig .. end
The decimal type alias provides more readable serializations to s-expressions, at the cost of lower precision.
module Deque : sig .. end
A double ended queue that can shrink and expand on both ends.
module Dequeue : sig .. end
module Doubly_linked : sig .. end
doubly-linked lists
module Either : sig .. end
module Either_intf : sig .. end
module Equal : sig .. end
This module defines signatures that are to be included in other signatures to ensure a consistent interface to equal functions.
module Error : sig .. end
module Error_unit_tests : sig .. end
module Exn : sig .. end
module Fdeque : sig .. end
A simple polymorphic functional double-ended queue.
module Fheap : sig .. end
Functional Heap implementation based on pairing-heap algorithm and immutable data structures.
module Flags : sig .. end
module Flags_intf : sig .. end
module Flags implements Unix-style sets of flags that are represented as an int with various bits set, one bit for each flag.
module Flat_array : sig .. end
An array of flat tuples.
module Flat_array_debug : sig .. end
module Flat_array_unit_tests : sig .. end
module Flat_queue : sig .. end
A queue of flat tuples, represented in a Flat_array.
module Flat_queue_debug : sig .. end
module Flat_queue_unit_tests : sig .. end
module Float : sig .. end
module Float_intf : sig .. end
Floating-point representation and utilities.
module Float_robust_compare : sig .. end
module Floatable : sig .. end
module Fn : sig .. end
various combinators for functions
module Force_once : sig .. end
module Fqueue : sig .. end
A simple polymorphic functional queue.
module Hash_heap : sig .. end
A hash-heap is a combination of a heap and a hashtbl that supports constant time lookup, and log(n) time removal and replacement of elements in addition to the normal heap operations.
module Hash_queue : sig .. end
module Hash_set : sig .. end
module Hash_set_intf : sig .. end
module Hashable : sig .. end
module Hashtbl_unit_tests : sig .. end
module Heap : sig .. end
Heap implementation based on a pairing-heap.
module Heap_block : sig .. end
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.
module Heap_intf : sig .. end
module Hex_lexer : sig .. end
module Host_and_port : sig .. end
module Identifiable : sig .. end
a signature for identifier types.
module In_channel : sig .. end
In_channel collects all of the pervasive functions that work on in_channels. * It adds some new functions (like input_all and input_lines). * It names things using the fact that there is no worry about toplevel name conflicts (since we are in a module). * It uses labelled arguments. * It returns an option rather than raising End_of_file.
module Info : sig .. end
module Info_intf : sig .. end
Info is a library for lazily constructing human-readable information as a string or sexp, with a primary use being error messages.
module Info_unit_tests : sig .. end
module Int_conversions : sig .. end
Conversions between various integer types
module Int_intf : sig .. end
module Int_math : sig .. end
module Int_pow2 : sig .. end
module Int_replace_polymorphic_compare : sig .. end
module Int_set : sig .. end
An implementation of compressed integer sets using lists of integer ranges.
module Intable : sig .. end
module Interfaces : sig .. end
module Invariant : sig .. end
module Invariant_intf : sig .. end
This module defines signatures that are to be included in other signatures to ensure a consistent interface to invariant-style functions.
module Linked_queue : sig .. end
Linked_queue is a wrapper around OCaml's standard Queue module that follows Core idioms and adds some functions.
module Linked_stack : sig .. end
A stack implemented with a list.
module Make_substring : sig .. end
module Maybe_bound : sig .. end
module Memo : sig .. end
Memoization code -- not re-entrant!
module Monad : sig .. end
See Monad_intf.
module Monad_intf : sig .. end
module Month : sig .. end
module Never_returns : sig .. end
module No_polymorphic_compare : sig .. end
Open this in modules where you don't want to accidentally use polymorphic comparison. Then, use Pervasives.(<), for example, where needed.
module Nothing : sig .. end
An uninhabited type.
module Nothing0 : sig .. end
module Obj_array : sig .. end
An array of Obj.ts.
module Only_in_test : sig .. end
This module can be used to safely expose functions and values in signatures that should only be used in unit tests.
module Option : sig .. end
module Or_error : sig .. end
Type for tracking errors in an Error.t.
module Or_error_unit_tests : sig .. end
module Ordered_collection_common : sig .. end
module Ordering : sig .. end
Ordering is intended to make code that matches on the result of a comparison more concise and easier to read.
module Out_channel : sig .. end
module Percent : sig .. end
An abstract type of scale factors
module Perms : sig .. end
module Pid : sig .. end
Process ID.
module Poly : sig .. end
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.
module Polymorphic_compare : sig .. end
A module containing the ad-hoc polymorphic comparison functions.
module Polymorphic_compare_intf : sig .. end
Interfaces used for hiding and replacing polymorphic compare.
module Pool : sig .. end
module Pool_intf : sig .. end
A manual memory manager for a set of mutable tuples.
module Pool_unit_tests : sig .. end
module Pooled_hashtbl : sig .. end
A polymorphic hashtbl that uses Pool to avoid allocation.
module Pooled_hashtbl_unit_test : sig .. end
module Pow_overflow_bounds : sig .. end
module Pretty_printer : sig .. end
A list of pretty printers for various types, for use in toplevels.
module Quickcheck : sig .. end
module Quickcheck_bench : sig .. end
module Quickcheck_intf : sig .. end
module Quickcheck_unit_tests : sig .. end
module Quickcheckable : sig .. end
module Ref : sig .. end
module Ref_unit_tests : sig .. end
module Result : sig .. end
Result is often used to handle error messages.
module Robustly_comparable : sig .. end
module Rope : sig .. end
A rope is a standard data structure that represents a single string as a tree of strings, and supports constant-time concatenation.
module Sequence : sig .. end
A sequence of elements that can be produced one at a time, on demand, normally with no sharing.
module Set_once : sig .. end
This module implements an option ref that starts out as None, and may be set only once.
module Sexpable : sig .. end
module Sign : sig .. end
A simple type for representing the sign of a numeric value.
module Sign0 : sig .. end
module 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.
module Source_code_position0 : sig .. end
module Stable : sig .. end
module Stable_containers : sig .. end
The Stable versions of Hashtbl, Hash_set, Map, and Set are defined here rather than in their respective modules because:
module Stable_internal : sig .. end
module Stable_module_types : sig .. end
module Stable_unit_test : sig .. end
The tests generated by these functors are run like any other unit tests: by the inline test runner when the functor is applied.
module Stable_unit_test_intf : sig .. end
An interface for creating unit tests to check stability of sexp and bin-io serializations
module Stack_intf : sig .. end
An interface for stacks that follows Core's conventions, as opposed to OCaml's standard Stack module.
module Stack_unit_tests : sig .. end
module Staged : sig .. end
A type for making staging explicit in the type of a function.
module Std : sig .. end
module Std_common : sig .. end
module Std_internal : sig .. end
module Std_kernel : sig .. end
module Std_unit_tests : sig .. end
module String_id : sig .. end
Disallows whitespace around the edges in of_string and t_of_sexp, but doesn't check when reading from bin_io.
module Stringable : sig .. end
module Substring : sig .. end
module Substring_intf : sig .. end
A substring is a contiguous set of characters within a string.
module T : sig .. end
module Thread_safe_queue : sig .. end
A thread-safe non-blocking queue of unbounded size.
module Time_ns : sig .. end
Time represented as an Int63.t number of nanoseconds since the epoch.
module Time_ns_alternate_sexp : sig .. end
module Timing_wheel_debug : sig .. end
module Timing_wheel_intf : sig .. end
A specialized priority queue for a set of time-based alarms.
module Timing_wheel_ns : sig .. end
module Timing_wheel_ns_unit_tests : sig .. end
module Timing_wheel_unit_tests : sig .. end
Timing_wheel_unit_tests.Make implements timing-wheel unit tests, and is used by both Timing_wheel_float and Timing_wheel_ns.
module Total_map : sig .. end
A ('key, 'value, cmp) Map.t where every value of type 'key is present.
module Tuple : sig .. end
Functors and signatures for dealing with modules for tuples.
module Tuple_type : sig .. end
module Tuple_type_intf : sig .. end
module Type_equal : sig .. end
For representing type equalities otherwise not known by the type-checker.
module Type_immediacy : sig .. end
Witnesses that express whether a type's values are always, sometimes, or never immediate.
module Type_immediacy_conv_unit_tests : sig .. end
module Union_find : sig .. end
Imperative data structure for representing disjoint sets.
module Unique_id : sig .. end
Functors for creating modules that mint unique identifiers.
module Unique_id_intf : sig .. end
Signature for use by module : Unique_id.
module Unit : sig .. end
Module for the type unit.
module Univ : sig .. end
An extensible "universal" variant type.
module Univ_map : sig .. end
Universal/heterogeneous maps.
module Univ_map_intf : sig .. end
module Unpack_buffer : sig .. end
A buffer for incremental decoding of an input stream.
module Validate : sig .. end
A module for organizing validations of data structures.
module Validate_unit_tests : sig .. end
module Validated : sig .. end
See Validated_intf for documentation.
module Validated_intf : sig .. end
For making an abstract version of a type that ensures a validation check has passed.
module With_return : sig .. end
This is include'd and documented in module: Common.
module Word_size : sig .. end
For determining the word size that the program is using.