# Index of modules

A
Anons [Command] | anonymous argument specifications
Arg_type [Command.Spec] |
Arg_type [Command.Param] |
Arg_type [Command] | argument types
Args [Command.Param] |
Array_permute |
Avltree |
B
Bag |
Bigbuffer [Std] |
Bigbuffer | `add_channel b ic n` reads exactly `n` character from the input channel `ic` and stores them at the end of buffer `b`.
Bigbuffer_internal |
Bigstring [Std] |
Bigstring | String type based on `Bigarray`, for use in I/O and C-bindings
Bigstring_marshal [Std] |
Bigstring_marshal | Utility functions for marshalling to and from bigstring
Bigsubstring |
Binable |
Binable0 |
Binary_packing |
Blang |
Blit [Iobuf] | `Blit` copies between iobufs and advances neither `src` nor `dst`.
Blit_consume [Iobuf] | `Blit_consume` copies between iobufs and advances `src` but does not advance `dst`.
Blit_consume_and_fill [Iobuf] | `Blit_consume_and_fill` copies between iobufs and advances both `src` and `dst`.
Blit_fill [Iobuf] | `Blit_fill` copies between iobufs and advances `dst` but does not advance `src`.
Bool |
Bounded_int_table |
Bucket |
Byte_units |
C
C [Time0.Stable.V1] |
Calibrator [Time_stamp_counter] | A calibrator contains a snapshot of machine-specific information that is used to convert between TSC values and clock time.
Caml [Std] |
Caml |
Check_std |
Cidr [Core_unix] | A representation of CIDR netmasks (e.g.
Clock [Linux_ext.Timerfd] | Clock used to mark the progress of a timer.
Clock [Linux_ext] |
Command [Std] |
Command | purely functional command line parsing
Commutative_group |
Comparable |
Comparable_intf |
Comparator |
Condition [Std] |
Condition [Caml] |
Constrained_float |
Consume [Iobuf.Unsafe] |
Consume [Iobuf] | `Consume.string t ~len` reads `len` characters (all, by default) from `t` into a new string and advances the lower bound of the window accordingly.
Container |
Core_arg |
Core_array |
Core_bin_prot |
Core_char |
Core_condition | `timedwait cond mtx timeout` waits on condition variable `cond` with mutex `mtx` until either the condition is signalled, or until `timeout` expires.
Core_field |
Core_filename | Warning! this library assumes we are in a POSIX compliant OS.
Core_hashtbl |
Core_hashtbl_intf |
Core_install_printers |
Core_int |
Core_int32 |
Core_int63 |
Core_int64 |
Core_lazy |
Core_list |
Core_map |
Core_map_intf |
Core_map_unit_tests |
Core_mutex | `lock mtx` locks `mtx`, possibly waiting for it to be released first by another thread.
Core_nativeint |
Core_printexc |
Core_printf |
Core_random |
Core_set |
Core_set_intf |
Core_set_unit_tests |
Core_sexp |
Core_stack |
Core_string |
Core_sys | System interface.
Core_thread | Lightweight threads.
Core_unix | File descriptor.
Crc [Std] |
Crc | Crc functions
D
Daemon [Std] |
Daemon | This module provides support for daemonizing a process.
Date [Time0] |
Date [Std] |
Date [Stable] |
Date | This formats a date using the format patterns available in `strftime`.
Date0 | converts a string to a date, in formats: m/d/y y-m-d (* valid iso8601_extended *) DD MMM YYYY DDMMMYYYY YYYYMMDD
Day_of_week |
Debug [Std] |
Debug | `am`, `ams`, and `amf` output a source code position and backtrace to stderr.
Deprecated [Command] | `Deprecated` should be used only by `Core_extended.Deprecated_command`.
Dequeue |
Direct [Core_unix.Resource_usage.Fields] |
Doubly_linked |
E
Epoch_cache [Time0.Stable.V1] |
Epoll [Linux_ext] | epoll() - a linux I/O multiplexer of the same family as select() or poll().
Equal |
Error |
Error [Core_unix] |
Exit [Core_unix] | The termination status of a process.
Exit_or_signal [Core_unix] |
Exit_or_signal_or_stop [Core_unix] |
Exn |
Expert [Signal] | The `Expert` module contains functions that novice users should avoid, due to their complexity.
Expert [Limiter] | expert operations
Expert [Iobuf] | The `Expert` module is for building efficient out-of-module `Iobuf` abstractions.
Export [Command.Arg_type] |
F
Facility [Syslog] | Types of messages
Fd_redirection [Daemon] |
Fields [Core_unix.Resource_usage] |
File_descr [Core_unix] | File descriptor.
Filename [Std] |
Fill [Iobuf.Unsafe] |
Fill [Iobuf] | `Fill.bin_prot X.bin_write_t t x` writes `x` to `t` in bin-prot form, advancing past the bytes written.
Flag [Command] | flag specifications
Flags [Linux_ext.Epoll] |
Flags [Linux_ext.Timerfd] |
Flags |
Flags_intf |
Float [Piecewise_linear] |
Float [Interval.Stable.V1] |
Float [Interval] |
Float |
Float_intf |
Float_robust_compare |
Floatable |
Flock_command [Core_unix] |
Fn |
Force_once |
Fqueue |
G
Group [Core_unix] | Structure of entries in the `groups` database.
H
Hash_heap |
Hash_queue |
Hash_set |
Hash_set_intf |
Hashable |
Heap |
Heap_block |
Helpers [Time_internal] |
Hi_bound [Iobuf] |
Host [Core_unix] |
Host_and_port |
I
IOVec [Core_unix] | I/O-vectors for scatter/gather-operations
Identifiable |
In_channel |
Inet_addr [Core_unix] |
Infinite_or_finite [Limiter] |
Info |
Int [Syscall_result] |
Int [Piecewise_linear] |
Int [Interval.Stable.V1] |
Int [Interval] |
Int_conversions |
Int_intf |
Int_replace_polymorphic_compare |
Int_set |
Intable |
Interfaces |
Interval [Std] |
Interval [Stable] |
Interval | Module for simple closed intervals over arbitrary types that are ordered correctly using polymorphic compare.
Interval_intf | Module for simple closed intervals over arbitrary types that are ordered correctly using polymorphic compare.
Invariant |
Iobuf [Std] |
Iobuf | A non-moving (in the GC sense) contiguous range of bytes, useful for I/O operations.
Iobuf_debug | We use `module type of struct include Iobuf end` rather than `module type of Iobuf` so that the debugging functions work on normal Iobufs.
Iobuf_intf | `no_seek` and `seek` are phantom types used in a similar manner to `read` and `read_write`.
Iobuf_tests | Intentionally empty.
L
Level [Syslog] |
Limiter [Std] |
Limiter | Implements a token bucket based throttling rate limiter.
Limiter_unit_tests |
Linux_ext [Std] |
Linux_ext | Interface to Linux-specific system calls
Lo_bound [Iobuf] |
Lock_file [Std] |
Lock_file | Mutual exclusion between processes using flock and lockf.
Low_level [Core_unix.Passwd] |
M
Make [Syscall_result] |
Make [Piecewise_linear.Stable.V1] |
Make [Piecewise_linear] |
Make [Iobuf_debug] |
Make [Interval] |
Make_invertible [Piecewise_linear.Stable.V1] |
Make_invertible [Piecewise_linear] |
Make_substring |
Map [Time0.Stable.V1] |
Mcl_flags [Core_unix.Mman] |
Memo |
Mman [Core_unix] |
Monad |
Month |
Mutex [Std] |
Mutex [Caml] |
Mutex0 | `create` like `Mutex.create`, but creates an error-checking mutex.
N
Nano_mutex [Std] |
Nano_mutex | A nano-mutex is a lightweight mutex that can be used only within a single OCaml runtime.
Native_file [Core_unix] |
Never_returns |
Nfs [Lock_file] | An implementation neutral NFS lock file scheme that relies on the atomicity of link over NFS (see NFS Illustrated, atomicity for more information).
No_polymorphic_compare |
Nothing |
Nothing0 |
O
O [Date0] |
Ofday [Time_ns] |
Ofday [Time] |
Ofday [Time_ns.Stable] |
Ofday [Stable] |
Ofday [Piecewise_linear] |
Ofday | A time of day along with a time zone.
Ofday [Interval.Stable.V1] |
Ofday [Interval] |
Only_in_test |
Open_flags [Core_unix] |
Open_option [Syslog] |
Option [Time_ns] |
Option [Time_ns.Span] |
Option [Time_ns.Stable] |
Option |
Or_error |
Ordered_collection_common |
Ordering |
Out_channel |
P
Param [Command] | specification of command parameters
Parts [Time_ns.Span] | Similar to `Time.Span.Parts`, but adding `ns`.
Parts [Time.Span] |
Parts [Span] |
Passwd [Core_unix] | Structure of entries in the `passwd` database
Peek [Iobuf.Unsafe] |
Peek [Iobuf] | `Peek` and `Poke` functions access a value at `pos` from the lower bound of the window and do not advance.
Pid |
Piecewise_linear [Std] |
Piecewise_linear | Piece-wise linear interpolation from float-like types to float.
Piecewise_linear_intf | `create` enforces that x (key) values are non-decreasing.
Poke [Iobuf.Unsafe] |
Poke [Iobuf] | `Poke.bin_prot X.bin_write_t t x` writes `x` to the beginning of `t` in binary form without advancing.
Policy [Core_unix.Scheduler] |
Polymorphic_compare |
Polymorphic_compare_intf |
Pretty_printer |
Priority [Linux_ext] |
Priority [Core_unix] |
Process_channels [Core_unix] | Similar to `UnixLabels.open_process`, but the second argument specifies the environment passed to the command.
Process_env [Std] |
Process_env | Utility functions for dealing with the environment.
Process_info [Core_unix] |
Protocol [Core_unix] |
Protocol_family [Core_unix] |
R
RLimit [Core_unix] | Resource limits
Ref |
Resource_usage [Core_unix] | Resource usage -- For details, "man getrusage"
Result |
Robustly_comparable |
S
Scheduler [Core_unix] |
Select_fds [Core_unix] | Wait until some input/output operations become possible on some channels.
Service [Core_unix] |
Set [Time0.Stable.V1] |
Set [Interval_intf.S] |
Set [Interval_intf.S1] |
Set_once |
Sexpable |
Shape [Command] |
Signal [Std] |
Signal | `of_system_int` and `to_system_int` return and take respectively a signal number corresponding to those in the system's /usr/include/bits/signum.h (or equivalent).
Source_code_position |
Source_code_position0 |
Span [Time_stamp_counter] | `Span` indicates some integer number of cycles.
Span [Time_ns] |
Span [Time] |
Span [Time_ns.Stable] |
Span [Stable] |
Span | Basic operations on spans
Span [Piecewise_linear] |
Spec [Command.Deprecated] |
Spec [Command] | older interface for command-line specifications
Squeue [Std] |
Squeue | Thread-safe queue module, using locks.
Stable [Zone] |
Stable [Time0] |
Stable [Uuid] |
Stable [User_and_group] |
Stable [Time_ns] |
Stable [Time_ns.Ofday] |
Stable [Time_ns.Option] |
Stable [Time_ns.Span.Option] |
Stable [Time_ns.Span] |
Stable [Time] |
Stable |
Stable [Span] |
Stable [Piecewise_linear] | Note that applications of the following functors are only as stable as `Key` and `Value`.
Stable [Ofday] |
Stable [Ofday.Zoned] |
Stable [Interval] |
Stable [Date0] |
Stable_containers |
Stable_internal |
Stable_unit_test |
Stable_unit_test_intf |
Staged |
Std |
Std_common |
Std_internal |
Std_kernel |
String_id |
Stringable |
Substring |
Substring_intf |
Sys [Std] |
Syscall_result | Representation of Unix system call results
Syscall_result [Core_unix] |
Syscall_result_intf | This returns a preallocated object for all errors and at least a few `ok_value`s, so can be used in many contexts where avoiding allocation is important.
Sysinfo [Linux_ext] |
Syslog | Send log messages via the Unix Syslog interface.
Syslog [Core_unix] |
T
T [Time_internal] |
T |
TSC [Time_stamp_counter_benchmarks] |
Terminal_io [Core_unix] |
Thread [Std] |
Thread [Caml] |
Thread_id [Core_unix] |
Thread_safe_queue_unit_tests | This signature is deliberately empty.
Throttle [Limiter] | Implements a basic throttle.
Throttled_rate_limiter [Limiter] | A `Throttled_rate_limiter` combines a `Token_bucket` and a `Throttle`.
Time | A module for representing absolute points in time, independent of time zone.
Time [Std] |
Time [Stable] |
Time [Piecewise_linear] |
Time [Interval.Stable.V1] |
Time [Interval] |
Time0 | Pause and don't allow events to interrupt.
Time_internal |
Time_ns [Time_ns_benchmarks] |
Time_ns | An absolute point in time, more efficient and precise than the `float`-based `Time`, but representing a narrower range of times.
Time_ns [Std] |
Time_ns [Stable] |
Time_ns_benchmarks |
Time_ns_in_this_directory [Time_ns_benchmarks] |
Time_stamp_counter | High-performance timing.
Time_stamp_counter [Std] |
Time_stamp_counter_benchmarks |
Timerfd [Linux_ext] |
Timing_wheel [Std] |
Timing_wheel_float | A timing wheel in which time is represented by `Time.t`, i.e.
Timing_wheel_float_unit_tests | Deliberately empty.
To_bigstring [Iobuf.Peek] |
To_bigstring [Iobuf.Consume] |
To_string [Iobuf.Peek] |
To_string [Iobuf.Consume] |
Token_bucket [Limiter] | Implements a basic token bucket based rate limiter.
Tuple |
Type_equal |
U
Union_find |
Unique_id |
Unique_id_intf |
Unit |
Unit [Syscall_result] |
Unit_of_time [Span] |
Univ |
Univ_map |
Unix [Time0] |
Unix [Std] |
Unix [Iobuf_intf] |
Unix [Caml] |
UnixLabels [Caml] |
Unix_error |
Unpack_buffer |
Unsafe [Iobuf] | `Unsafe` has submodules that are like their corresponding module, except with no range checks.
User_and_group | A pair of unix username and primary unix group.
User_and_group [Std] |
User_and_group [Stable] |
Utsname [Core_unix] |
Uuid | Implements universally unique identifiers based on version 3 of the UUID specification.
Uuid [Std] |
Uuid [Stable] |
V
V1 [Time0.Stable.With_utc_sexp] |
V1 [Time0.Stable] |
V1 [Time_ns.Ofday.Stable] |
V1 [Time_ns.Option.Stable] |
V1 [Time_ns.Span.Option.Stable] |
V1 [Time_ns.Span.Stable] |
V1 [Zone.Stable] |
V1 [User_and_group.Stable] |
V1 [Uuid.Stable] |
V1 [Time_ns.Stable] |
V1 [Time.Stable.With_utc_sexp] |
V1 [Time.Stable] |
V1 [Span.Stable] |
V1 [Piecewise_linear.Stable] |
V1 [Ofday.Stable] |
V1 [Ofday.Zoned.Stable] |
V1 [Interval.Stable] |
V1 [Date0.Stable] |
V2 [Span.Stable] |
Validate |
W
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).
Weak_hashtbl [Std] |
With_utc_sexp [Time0.Stable] |
With_utc_sexp [Time.Stable] | Provides a sexp representation that is independent of the time zone of the machine writing it.
Word_size |
Z
Zone | Time-zone handling.
Zone [Time] |
Zone [Stable] |
Zoned [Time.Ofday] |
Zoned [Ofday] |