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.
Spawn is a small library exposing only one functionality: spawning sub-process.
It has three main goals:
provide missing features of Unix.create_process such as providing a working directory,
provide better errors when a system call fails in the sub-process. For instance if a command is not found, you get a proper
Unix.Unix_error
exception,improve performances by using vfork when available. It is often claimed that nowadays fork is as fast as vfork, however in practice fork takes time proportional to the process memory while vfork is constant time. In application using a lot of memory, vfork can be thousands of times faster than fork.
Lexer generator for Unicode and OCaml.
Lexer generator for Unicode and OCaml.
This package provides the utility library included with Dune.
This module provides a vi-like modal editing engine generator.
IP address types with serialization, supporting a wide range of RFCs.
This package provides an effect-based IO API for multicore OCaml with fibers.
This library is a compatibility module for the Either module defined in OCaml 4.12.0.
OUnit2 is a unit testing framework for OCaml. It is similar to JUnit and other XUnit testing frameworks.
Cohttp is an OCaml library for creating HTTP daemons. It has a portable HTTP parser, and implementations using various asynchronous programming libraries.
This package provides utilities for building unitary testing of interactive program. You can match the question using a regular expression or a timeout.
Lacaml interfaces the BLAS-library (Basic Linear Algebra Subroutines) and LAPACK-library (Linear Algebra routines). It also contains many additional convenience functions for vectors and matrices.
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.
QuickCheck inspired property-based testing for OCaml. This module checks invariants (properties of some types) over randomly generated instances of the type. It provides combinators for generating instances and printing them.
Implements arithmetic and logical operations over arbitrary-precision integers. It uses GMP to efficiently implement arithmetic over big integers. Small integers are represented as Caml unboxed integers, for speed and space economy.
This OCaml library provides two new integer types, Optint.t
and Int63.t
, which guarantee efficient representation on 64-bit architectures and provide a best-effort boxed representation on 32-bit architectures.
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.
Base64 is a group of similar binary-to-text encoding schemes that represent binary data in an ASCII string format by translating it into a radix-64 representation. It is specified in RFC 4648.
Ocaml-cairo2 is a binding to Cairo, a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System, Quartz, Win32, image buffers, PostScript, PDF, and SVG file output.
This library adds new functions to OCaml standard library modules, modifies some functions in order to get better performances or safety (tail-recursive) and also provides new modules which should be useful for day to day programming.
Menhir is a parser generator. It turns high-level grammar specifications, decorated with semantic actions expressed in the OCaml programming language into parsers, again expressed in OCaml. It is based on Knuthâs LR(1) parser construction technique.
Library operating system that constructs unikernels for secure, high-performance network applications across a variety of cloud computing and mobile platforms. Code can be developed on a normal OS and then compiled into a fully-standalone, specialised unikernel.
Cinaps is a trivial metaprogramming tool using the OCaml toplevel. It is based on the same idea as expectation tests. The user writes some OCaml code inside special comments and cinaps make sure that what follows is what is printed by the OCaml code.