package core_kernel
Industrial strength alternative to OCaml's standard library
Install
Dune Dependency
Authors
Maintainers
Sources
v0.14.2.tar.gz
sha256=66f5353964d35a994ec7fdc88fe60ae5d497ac89a8042786f3e37d9e2202ce4b
md5=ede2f6d22eaa8320f88bac67d41b5cff
doc/index.html
core_kernel
API
Library core_kernel
Core_kernel
Core_kernel
greatly expands the functionality available in Base while still remaining platform-agnostic. Core_kernel changes more frequently (i.e., is less stable) than Base.
Library core_kernel.ansi_kernel
Ansi_kernel
Common ANSI display attribute definitions.
Library core_kernel.balanced_reducer
Balanced_reducer
ABalanced_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.
Library core_kernel.base_for_tests
Library core_kernel.binary_packing
Binary_packing
Packs and unpacks various types of integers into and from strings.
Library core_kernel.bounded_int_table
Bounded_int_table
ABounded_int_table
is a table whose keys can be mapped to integers in a fixed range, 0 ...num_keys
- 1, wherenum_keys
is specified at table-creation time. The purpose ofBounded_int_table
is to be faster thanHashtbl
in situations where one is willing to pay a space cost for the speed.
Library core_kernel.bus
Bus
ABus
is a publisher/subscriber system within the memory space of the program. A bus has a mutable set of subscribers, which can be modified usingsubscribe_exn
andunsubscribe
.
Library core_kernel.caml_unix
Library core_kernel.composition_infix
Composition_infix
Infix composition operators.
Library core_kernel.enum
Library core_kernel.fheap
Fheap
Functional heaps (implemented as pairing heaps).
Library core_kernel.flags
Library core_kernel.force_once
Force_once
A "force_once" is a thunk that can only be forced once. Subsequent forces will raise an exception.
Library core_kernel.hash_heap
Hash_heap
A 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_set
An 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.iobuf
Iobuf
A non-moving (in the GC sense) contiguous range of bytes, useful for I/O operations.
Library core_kernel.limiter
Limiter
Implements 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.linked_stack
Linked_stack
A stack implemented with a list.
Library core_kernel.moption
Moption
AMoption
is a mutable option, like'a option ref
, but with a more efficient implementation; in particular,set_some
does not allocate.
Library core_kernel.pairing_heap
Pairing_heap
Heap implementation based on a pairing-heap.
Library core_kernel.pooled_hashtbl
Pooled_hashtbl
A polymorphic hashtbl that usesPool
to avoid allocation.
Library core_kernel.rope
Rope
A 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.
Library core_kernel.sexp_hidden_in_test
Library core_kernel.thread_pool_cpu_affinity
Library core_kernel.thread_safe_queue
Thread_safe_queue
A thread-safe non-blocking queue of unbounded size.
Library core_kernel.timing_wheel
Library core_kernel.total_map
Total_map
A map that includes an entry for every possible value of the key type.
Library core_kernel.tuple_pool
Library core_kernel.univ
Univ
An extensible "universal" variant type.
Library core_kernel.unpack_buffer
Unpack_buffer
A buffer for incremental decoding of an input stream.
Library core_kernel.uopt
Uopt
AUopt.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 theUopt.t
inside their module, and not expose them (not even if they are given an abstract type).
Library core_kernel.uuid
Uuid
Implements universally unique identifiers based on version 3 of the UUID specification. Identifier generation is thread safe, and fast.
Library core_kernel.version_util
Version_util
This module gives access to the same version/build information returned byCommand
-based executables when called with the-version
or-build-info
flags by$0 version (-build-info | -version)
or$0 (-build-info | -version)
.
Library core_kernel.weak_array
Weak_array
Module 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_hashtbl
A 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_pointer
A weak pointer is a pointer to a heap block that does not cause the heap block to remain live during garbage collection.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
-
API
- Library core_kernel
- Library core_kernel.ansi_kernel
- Library core_kernel.balanced_reducer
- Library core_kernel.base_for_tests
- Library core_kernel.binary_packing
- Library core_kernel.bounded_int_table
- Library core_kernel.bus
- Library core_kernel.caml_unix
- Library core_kernel.composition_infix
- Library core_kernel.enum
- Library core_kernel.fheap
- Library core_kernel.flags
- Library core_kernel.force_once
- Library core_kernel.hash_heap
- Library core_kernel.int_set
- Library core_kernel.iobuf
- Library core_kernel.limiter
- Library core_kernel.linked_stack
- Library core_kernel.moption
- Library core_kernel.pairing_heap
- Library core_kernel.pooled_hashtbl
- Library core_kernel.rope
- Library core_kernel.sexp_hidden_in_test
- Library core_kernel.thread_pool_cpu_affinity
- Library core_kernel.thread_safe_queue
- Library core_kernel.timing_wheel
- Library core_kernel.total_map
- Library core_kernel.tuple_pool
- Library core_kernel.univ
- Library core_kernel.unpack_buffer
- Library core_kernel.uopt
- Library core_kernel.uuid
- Library core_kernel.version_util
- Library core_kernel.weak_array
- Library core_kernel.weak_hashtbl
- Library core_kernel.weak_pointer