package core

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

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, extending Core_kernel.Bigstring.

module Caml : sig ... end
module Command : sig ... end
module Core_stable : sig ... end
module Date : sig ... end
module Filename : sig ... end

Warning! this library assumes we are in a POSIX compliant OS.

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

Iobufs 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 : sig ... end

System interface.

module Thread : sig ... end

Lightweight threads.

module Time : sig ... end
module Time_common : sig ... end

This module type is basically the intersection of the module types of Core.Time and Core.Time_ns. We verify that that relation holds in check_std.ml.

module Time_ns : sig ... end
module Unix : sig ... end

This file is a modified version of unixLabels.mli from the OCaml distribution. Many of these functions raise exceptions but do not have a _exn suffixed name.

module Version_util = Version_util
module Core_private : sig ... end
OCaml

Innovation. Community. Security.