Core
is an extension of Core_kernel
with Unix APIs. The unmodified
libraries can be found there.
In particular, Core
has comprehensive implementation of times (see Time
,
Time_ns
, Timing_wheel_float
, and Schedule_v5
), where some details are
platform-specific (like timing wheels based on floats).
Some modules are mere extensions of those existing in Core_kernel
, like Bigbuffer
,
Bigstring
, Caml
, Time
, and Md5
, where what's added is handlers for reading
from or writing to Unix sockets and file descriptors, or support for floating-point
numbers. Other modules are entirely new, like:
Command
, a richly featured tool for creating command-line programs.Daemon
, for daemonizing processes.Iobuf
, which lets you use contiguous ranges of bytes for I/O purposes.Lock_file
, for managing OS-level locks.Crc
, for cyclic redundancy checks.Linux_ext
, providing a wrapper around Linux-specific system calls.Mac_address
, for managing MAC addresses.Signal
, for handling Unix signals like SIGHUP and SIGKILL.A few modules in Core don't have any platform-specific functionality but haven't yet
been ported to Core_kernel for technical reasons (like a dependency on Time
, which
until recently was only in Core):
Interval
Squeue
Uuid
module Bigbuffer = Core.Bigbuffer
module Bigstring = Core.Bigstring
module Bigstring_marshal = Core.Bigstring_marshal
module Caml = Core.Caml
module Command = Core.Command
module Condition = Core__.Core_condition
module Core_stable = Core__.Stable
module Crc = Core.Crc
module Daemon = Core.Daemon
module Date = Core__.Core_date
module Filename = Core__.Core_filename
module Interval = Core.Interval
module Interval_intf = Core.Interval_intf
module Iobuf = Core.Iobuf
module Iobuf_debug = Core.Iobuf_debug
module Iobuf_intf = Core.Iobuf_intf
module Linux_ext = Core.Linux_ext
module Lock_file = Core.Lock_file
module Mac_address = Core.Mac_address
module Md5 = Core.Md5
module Digest = Md5
module Mutex = Core__.Core_mutex
module Nano_mutex = Core.Nano_mutex
module Piecewise_linear = Core.Piecewise_linear
module Process_env = Core.Process_env
module Schedule_v4_deprecated = Core.Schedule_v4_deprecated
module Schedule_v5 = Core.Schedule_v5
module Signal = Core.Signal
module Squeue = Core.Squeue
module Sys = Core__.Core_sys
module Thread = Core__.Core_thread
module Time = Core__.Core_time_float
module Time_common = Core.Time_common
module Time_ns = Core__.Core_time_ns
module Time_stamp_counter = Core.Time_stamp_counter
module Timing_wheel_float = Core.Timing_wheel_float
module Unix = Core__.Core_unix
module User_and_group = Core.User_and_group
module Uuid = Core.Uuid
module Version_util = Core.Version_util
module Weak_hashtbl = Core.Weak_hashtbl
val sec : Core_kernel__.Import.float ‑> Time.Span.t