Module Core
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 (Time
and Time_ns
), where some details are platform-specific.
Some modules are mere extensions of those existing in Core_kernel
, like 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.Iobuf
, which lets you use contiguous ranges of bytes for I/O purposes.Linux_ext
, providing a wrapper around Linux-specific system calls.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
module Bigstring : sig ... end
String type based on
Bigarray
, for use in I/O and C-bindings, extendingCore_kernel.Bigstring
.
module Caml : sig ... end
Extends
Core_kernel.Caml
.
module Command : sig ... end
module Core_stable = Core__.Stable
module Date = Core__.Core_date
module Filename = Core__.Core_filename
module Interval : sig ... end
module Interval_intf : sig ... end
module Iobuf : sig ... end
A non-moving (in the GC sense) contiguous range of bytes, useful for I/O operations.
module Iobuf_debug : sig ... end
Iobuf
s with extra controls for debugging.
module Iobuf_intf : sig ... end
See
Iobuf
for documentation.
module Linux_ext : sig ... end
Interface to Linux-specific system calls.
module Digest = Md5
module Mutex : sig ... end
module Signal : sig ... end
Signal handlers.
module Sys = Core__.Core_sys
module Thread = Core__.Core_thread
module Time = Core__.Core_time_float
module Time_common : sig ... end
This module type is basically the intersection of the module types of
Core.Time
andCore.Time_ns
. We verify that that relation holds in check_std.ml.
module Time_ns = Core__.Core_time_ns
module Unix = Core__.Core_unix
val sec : Core_kernel__.Import.float -> Time.Span.t
val (^/) : Core_kernel__.Import.string -> Core_kernel__.Import.string -> Core_kernel__.Import.string