Bindlib is a library allowing the manipulation of data structures with bound variables. It is particularly useful when writing ASTs for programming languages, but also for manipulating terms of the λ-calculus or quantified formulas.
Cstruct is a library and syntax extension to make it easier to access C-like structures directly from OCaml. It supports both reading and writing to these structures, and they are accessed via the Bigarray module.
Ezjsonm provides more convenient (but far less flexible) input and output functions that go to and from [string] values than jsonm. This avoids the need to write signal code, which is useful for quick scripts that manipulate JSON.
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.
Dune is a build system for OCaml. It provides a consistent experience and takes care of the low-level details of OCaml compilation. Descriptions of projects, libraries and executables are provided in dune
files following an s-expression syntax.
Dune is a build system for OCaml. It provides a consistent experience and takes care of the low-level details of OCaml compilation. Descriptions of projects, libraries and executables are provided in dune
files following an s-expression syntax.
ppx_bap
is the set of blessed ppx rewriters used in BAP projects. It fills the same role as ppx_base
or ppx_jane
(from which it is derived), but doesn't impose any style requirements and has only the minimal necessary set of rewriters.
SQLite3-OCaml is an OCaml library with bindings to the SQLite3 client API. Sqlite3 is a self-contained, serverless, zero-configuration, transactional SQL database engine with outstanding performance for many use cases. These bindings are written in a way that enables a friendly coexistence with the old (version 2) SQLite and its OCaml wrapper ocaml-sqlite
.
Astring exposes an alternative String module for OCaml. This module balances minimality and expressiveness for basic, index-free, string processing and provides types and functions for substrings, string sets and string maps. The String module exposed by Astring has exception safe functions, removes deprecated and rarely used functions, alters some signatures and names, adds a few missing functions and fully exploits OCaml's newfound string immutability.
Base is a complete and portable alternative to the OCaml standard library. It provides all standard functionalities one would expect from a language standard library. It uses consistent conventions across all of its module.
Base aims to be usable in any context. As a result system dependent features such as I/O are not offered by Base. They are instead provided by companion libraries such as ocaml-stdio.
The "findlib" library provides a scheme to manage reusable software components (packages), and includes tools that support this scheme. Packages are collections of OCaml modules for which metainformation can be stored. The packages are kept in the file system hierarchy, but with strict directory structure. The library contains functions to look the directory up that stores a package, to query metainformation about a package, and to retrieve dependency information about multiple packages. There is also a tool that allows the user to enter queries on the command-line. In order to simplify compilation and linkage, there are new frontends of the various OCaml compilers that can directly deal with packages.
This library provides generic parsers for parsing S-expressions from strings or other medium.
The library is focused on performances but still provide full generic parsers that can be used with strings, bigstrings, lexing buffers, character streams or any other sources effortlessly.
It provides three different class of parsers:
the normal parsers, producing [Sexp.t] or [Sexp.t list] values
the parsers with positions, building compact position sequences so that one can recover original positions in order to report properly located errors at little cost
the Concrete Syntax Tree parsers, produce values of type
Parsexp.Cst.t
which record the concrete layout of the s-expression syntax, including comments
This library is portable and doesn't provide IO functions. To read s-expressions from files or other external sources, you should use parsexp_io.
Integers of various widths.
This package provides element ordering for OCaml.
This package provides types and operations over dates and times.
Syntax extension that makes [failwiths] always include a position.
Octavius is a library to parse the `ocamldoc` comment syntax.
Part of the Jane Street's PPX rewriters collection.
This package provides an OCaml library for calling Dune remotely.
This package adds S-exp support to ocaml-uri
.
This package is a collection of ppx rewriters that generate hash functions from type exrpessions and definitions.
Provides a single function to report the current time in nanoseconds since the start of the Unix epoch.
This package installs a ppx-jane executable, which is a ppx driver including all standard Jane Street ppx rewriters.
Timezone handles parsing timezone data and create Timezone.t
that can later be used to manipulate time in core_kernel or core.