This package provides OCaml bindings to the Linux io_uring
kernel IO interfaces.
Traditional implementation of priority queues using a binary heap encoded in a resizable array.
Unit testing framework for OCaml. It is similar to JUnit and other XUnit testing frameworks.
The uchar package provides a compatibility library for the `Uchar` module introduced in OCaml 4.03.
Access monotonic wall-clock time. It measures time spans without being subject to operating system calendar time adjustments.
Client-side URL transfer library, supporting HTTP and a multitude of other network protocols (FTP/SMTP/RTSP/etc).
The OCaml guile library provides high-level OCaml bindings to GNU Guile 3.0, supporting easy interop between OCaml and GNU Guile Scheme.
Stdio implements simple input/output functionalities for OCaml. It re-exports the input/output functions of the OCaml standard libraries using a more consistent API.
This package provides a parser of email address according RFC822, RFC2822, RFC5321 and RFC6532. It handles UTF-8 email addresses and encoded-word according RFC2047.
Js_of_ocaml is a compiler from OCaml bytecode to JavaScript. It makes it possible to run pure OCaml programs in JavaScript environment like browsers and Node.js.
Ocaml-junit is a package for the creation of JUnit XML reports. It provides a typed API to produce valid reports. They are supposed to be accepted by Jenkins.
Fpath is an OCaml module for handling file system paths with POSIX or Windows conventions. Fpath processes paths without accessing the file system and is independent from any system library.
Uuidm is an OCaml module implementing 128 bits universally unique identifiers (UUIDs) version 3, 5 (named based with MD5, SHA-1 hashing) and 4 (random based) according to RFC 4122.
Library for asynchronous programming, i.e., programming where some part of the program must wait for things that happen at times determined by some external entity (like a human or another program).
Jsonm is a non-blocking streaming codec to decode and encode the JSON data format. It can process JSON text without blocking on IO and without a complete in-memory representation of the data.
OASIS is a tool to integrate a configure, build and install system in your OCaml projects. It helps to create standard entry points in your build system and allows external tools to analyse your project easily.
Topkg is a packager for distributing OCaml software. It provides an API to describe the files a package installs in a given build configuration and to specify information about the package's distribution, creation and publication procedures.
React is an OCaml module for functional reactive programming (FRP). It provides support to program with time varying values: declarative events and signals. React doesn't define any primitive event or signal, it lets the client choose the concrete timeline.
Qtest extracts inline unit tests written using a special syntax in comments. Those tests are then run using the oUnit framework and the qcheck library. The possibilities range from trivial tests -- extremely simple to use -- to sophisticated random generation of test cases.
Ptime offers platform independent POSIX time support in pure OCaml. It provides a type to represent a well-defined range of POSIX timestamps with picosecond precision, conversion with date-time values, conversion with RFC 3339 timestamps and pretty printing to a human-readable, locale-independent representation.
Uuseg is an OCaml library for segmenting Unicode text. It implements the locale independent Unicode text segmentation algorithms to detect grapheme cluster, word and sentence boundaries and the Unicode line breaking algorithm to detect line break opportunities.
The library is independent from any IO mechanism or Unicode text data structure and it can process text without a complete in-memory representation.
Dose3 is a framework made of several OCaml libraries for managing distribution packages and their dependencies. Though not tied to any particular distribution, dose3 constitutes a pool of libraries which enable analyzing packages coming from various distributions. Besides basic functionalities for querying and setting package properties, dose3 also implements algorithms for solving more complex problems such as monitoring package evolutions, correct and complete dependency resolution and repository-wide uninstallability checks.
TyXML provides a set of convenient combinators that uses the OCaml type system to ensure the validity of the generated documents. TyXML can be used with any representation of HTML and SVG: the textual one, provided directly by this package, or DOM trees (js_of_ocaml-tyxml
) virtual DOM (virtual-dom
) and reactive or replicated trees (eliom
). You can also create your own representation and use it to instantiate a new set of combinators.
Timed references for imperative state. This module provides an alternative type for references (or mutable cells) supporting undo/redo operations. In particular, an abstract notion of time is used to capture the state of the references at any given point, so that it can be restored. Note that usual reference operations only have a constant time / memory overhead (compared to those of the standard library).
Moreover, we provide an alternative implementation based on the references of the standard library (Pervasives module). However, it is less efficient than the first one.