These libraries provides access to low-level compiler interfaces and the standard higher-level merlin protocol.
Eio_luv
provides a cross-platform backend for Ocaml Eio
's APIs using luv (libuv)
Provides an OCaml interface to operations that have dedicated hardware instructions on some micro-architectures, with default implementations using C stubs for all targets.
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.
Crowbar is a library for testing code, combining QuickCheck-style property-based testing and the magical bug-finding powers of afl-fuzz.
MirageOS OS library for Xen targets, which handles the main loop and timers. It also provides the low level C startup code and C stubs required by the OCaml code.
Unix-related dependencies for things like system calls and threads. Using these, it hooks the Async_kernel scheduler up to either epoll or select, depending on availability, and manages a thread pool that blocking system calls run in.
Defines compile-time constants used in Jane Street libraries such as Base, Core, and Async. This package has an unstable interface; it is intended only to share configuration between different packages from Jane Street. Future updates may not be backward-compatible, and we do not recommend using this package directly.
Expect-test is a framework for writing tests in OCaml, similar to Cram. Expect-tests mimics the existing inline tests framework with the let%expect_test
construct. The body of an expect-test can contain output-generating code, interleaved with %expect
extension expressions to denote the expected output.
Bisect_ppx helps you test thoroughly. It is a small preprocessor that inserts instrumentation at places in your code, such as if-then-else and match expressions. After you run tests, Bisect_ppx gives a nice HTML report showing which places were visited and which were missed.
Usage is simple - add package bisect_ppx when building tests, run your tests, then run the Bisect_ppx report tool on the generated visitation files.
Ocp-indent is based on an approximate, tolerant OCaml parser and a simple stack machine. Presets and configuration options are available, with the possibility to set them project-wide. It supports the most common syntax extensions, and it is extensible for others.
This package includes:
An indentor program, callable from the command-line or from within editors,
Bindings for popular editors,
A library that can be directly used by editor writers, or just for fault-tolerant and approximate parsing.
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.
Defines the signature for time-related operations for MirageOS.
The Core suite of libraries is an alternative to OCaml's standard library.
This package provides OCaml (.ml and .mli) grammars for the Tree-sitter library.
Library for pretty-printing s-expressions, using better indentation rules than the default pretty printer in Sexplib.
This package provides the MirageOS `OS` library for Unix targets, which handles the main loop and timers.
Easy-format is a high-level and functional interface to the Format module of the OCaml standard library.
This package allows you to produce, from a set of bibliography files in BibTeX format, a bibliography in HTML format.
Parses and constructs RFC compliant domain names. The invariants on the length of domain names are preserved throughout the module.
Eio_main
selects an appropriate backend (e.g. eio_linux or eio_luv), depending on your platform.
This package provides a library for parsing the contents of OCaml documentation comments, formatted using Odoc syntax, an extension of the language understood by ocamldoc.
Ppx_optcomp stands for Optional Compilation. It is a tool used to handle optional compilations of pieces of code depending of the word size, the version of the compiler, ...
Ocb-stubblr is about ten lines of code that you need to repeat over, over, over and over again if you are using ocamlbuild to build OCaml projects that contain C stubs.