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):
IntervalSqueueUuidmodule Bigbuffer = Core.Bigbuffermodule Bigstring = Core.Bigstringmodule Bigstring_marshal = Core.Bigstring_marshalmodule Caml = Core.Camlmodule Command = Core.Commandmodule Condition = Core__.Core_conditionmodule Core_stable = Core__.Stablemodule Crc = Core.Crcmodule Daemon = Core.Daemonmodule Date = Core__.Core_datemodule Filename = Core__.Core_filenamemodule Interval = Core.Intervalmodule Interval_intf = Core.Interval_intfmodule Iobuf = Core.Iobufmodule Iobuf_debug = Core.Iobuf_debugmodule Iobuf_intf = Core.Iobuf_intfmodule Linux_ext = Core.Linux_extmodule Lock_file = Core.Lock_filemodule Mac_address = Core.Mac_addressmodule Md5 = Core.Md5module Digest = Md5module Mutex = Core__.Core_mutexmodule Nano_mutex = Core.Nano_mutexmodule Piecewise_linear = Core.Piecewise_linearmodule Process_env = Core.Process_envmodule Schedule_v4_deprecated = Core.Schedule_v4_deprecatedmodule Schedule_v5 = Core.Schedule_v5module Signal = Core.Signalmodule Squeue = Core.Squeuemodule Sys = Core__.Core_sysmodule Thread = Core__.Core_threadmodule Time = Core__.Core_time_floatmodule Time_common = Core.Time_commonmodule Time_ns = Core__.Core_time_nsmodule Time_stamp_counter = Core.Time_stamp_countermodule Timing_wheel_float = Core.Timing_wheel_floatmodule Unix = Core__.Core_unixmodule User_and_group = Core.User_and_groupmodule Uuid = Core.Uuidmodule Version_util = Core.Version_utilmodule Weak_hashtbl = Core.Weak_hashtblval sec : Core_kernel__.Import.float ‑> Time.Span.t