Balanced_reducerA Balanced_reducer.t stores a mutable fixed-length sequence of optional values, and incrementally maintains the result of folding an associative operation (reduce) over the sequence as its elements change.
Force_onceA "force_once" is a thunk that can only be forced once. Subsequent forces will raise an exception.
Library core_kernel.hash_heap
Hash_heapA hash-heap is a combination of a heap and a hashtable that supports constant time lookup, and log(n) time removal and replacement of elements in addition to the normal heap operations.
Library core_kernel.int_set
Int_setAn implementation of compressed integer sets using lists of integer ranges. Operations such as adding and membership are O(n) where n is the number of contiguous ranges in the set. For data that is mostly serial, n should remain very small.
Library core_kernel.limiter
LimiterImplements a token-bucket-based throttling rate limiter. This module is useful for limiting network clients to a sensible query rate, or in any case where you have jobs that consume a scarce but replenishable resource.
Library core_kernel.moption
MoptionA Moption is a mutable option, like 'a option ref, but with a more efficient implementation; in particular, set_some does not allocate.
Library core_kernel.pooled_hashtbl
Pooled_hashtblA polymorphic hashtbl that uses Pool to avoid allocation.
Library core_kernel.rope
RopeA rope is a standard data structure that represents a single string as a tree of strings, allowing concatenation to do no work up front. See the README.md file for details and motivating examples.
Thread_safe_queueA thread-safe non-blocking queue of unbounded size.
Library core_kernel.total_map
Total_mapA map that includes an entry for every possible value of the key type.
Library core_kernel.unpack_buffer
Unpack_bufferA buffer for incremental decoding of an input stream.
Library core_kernel.uopt
UoptA Uopt.t is an unboxed option. This module is tricky and potentially unsafe. It should mostly not be used, and when it is, one must keep the Uopt.t inside their module, and not expose them (not even if they are given an abstract type).
Library core_kernel.uuid
UuidImplements universally unique identifiers based on version 3 of the UUID specification. Identifier generation is thread safe, and fast.
Library core_kernel.weak_array
Weak_arrayModule for dealing with weak pointers, i.e., pointers that don't prevent garbage collection of what they point to.
Library core_kernel.weak_hashtbl
Weak_hashtblA hashtable that keeps a weak pointer to each key's data and uses a finalizer to detect when the data is no longer referenced (by any non-weak pointers).
Library core_kernel.weak_pointer
Weak_pointerA weak pointer is a pointer to a heap block that does not cause the heap block to remain live during garbage collection.