This library provides minimal support for Canonical S-expressions. Canonical S-expressions are a binary encoding of S-expressions that is super simple and well suited for communication between programs.
This library only provides a few helpers for simple applications. If you need more advanced support, such as parsing from more fancy input sources, you should consider copying the code of this library given how simple parsing S-expressions in canonical form is.
To avoid a dependency on a particular S-expression library, the only module of this library is parameterised by the type of S-expressions.
Utilities for working with terminal output, such as color printing.
Syntax extension for writing in-line benchmarks in ocaml code.
This package includes only the ocp-index library and command-line tool.
This package is a line-reading library for OCaml that aims to replace readline.
Library to provide pure OCaml functions to manipulate real file (POSIX like) and filename.
Ppx_tools provides tools for authors of ppx rewriters and other syntactic tools.
Unix-specific extensions to some of the modules defined in core and core_kernel.
Define a standard set of libraries which may be expected on every compliant installation of OCaml and organize these libraries into a hierarchy of modules.
Uses the new result type defined in OCaml >= 4.03 while staying compatible with older version of OCaml should use the Result module defined in this library.
Compatibility module for OCaml standard library allowing programs to use some recent additions to the standard library while preserving the ability to be compiled on former versions of OCaml.
Provides a single module named Stringext that provides a grab bag of often used but missing string functions from the stdlib. E.g, split, full_split, cut, rcut, etc..
DSL to describe a set of modules and functors, their types and how to apply them in order to produce a complete application. The main use case is mirage.
Syntax extension to define first class values representing record fields, to get and set record fields, iterate and fold over all fields of a record and create new record values.
This module provides a set of tools to measure the running times of your functions and to easily compare the results. A statistical test is used to determine whether the results truly differ.
Merlin is an editor service that provides modern IDE features for OCaml. Emacs and Vim support is provided out-of-the-box. External contributors added support for Visual Studio Code, Sublime Text and Atom.
Lwt provides typed, composable cooperative threads. These make it easy to run normally-blocking I/O operations concurrently in a single process. Also, in many cases, Lwt threads can interact without the need for locks or other synchronization primitives.
Camomile is a Unicode library for OCaml. Camomile provides Unicode character type, UTF-8, UTF-16, UTF-32 strings, conversion to/from about 200 encodings, collation and locale-sensitive case mappings, and more. The library is currently designed for Unicode Standard 3.2.
This package provides two union-find data structure implementations for OCaml. Both implementations are based on disjoint sets forests, with path compression and linking-by-rank, so as to guarantee good asymptotic complexity: every operation requires a quasi-constant number of accesses to the store.
Xml-Light provides functions to parse an XML document into an OCaml data structure, work with it, and print it back to an XML document. It also supports DTD parsing and checking, and is entirely written in OCaml, hence it does not require additional C libraries.
Adds Erlang-style bitstrings and matching over bitstrings as a syntax extension and library for OCaml. You can use this module to both parse and generate binary formats, files and protocols. Bitstring handling is added as primitives to the language, making it exceptionally simple to use and very powerful.
This library provides minimal support for Canonical S-expressions. Canonical S-expressions are a binary encoding of S-expressions that is super simple and well suited for communication between programs.
This library only provides a few helpers for simple applications. If you need more advanced support, such as parsing from more fancy input sources, you should consider copying the code of this library given how simple parsing S-expressions in canonical form is.
To avoid a dependency on a particular S-expression library, the only module of this library is parameterised by the type of S-expressions.