The library is composed of 9 modules, each containing a single class,
and eventually some creation functions. Each of theses classes
corresponds almost exactly to a module in the standard library, and only
makes it object-oriented. Only Ogenlex adds a new feature, indexing on
the input stream.
OUnit is a unit testing framework for Objective Caml, inspired by
the JUnit tool for Java, and the HUnit tool for Haskell.
Cppo is an equivalent of the C preprocessor targeted at the OCaml language
The main purpose of cppo is to provide a lightweight tool for simple
macro substitution (#define) and file inclusion (#include) for the
occasional case when this is useful in OCaml. Processing specific
sections of files by calling external programs is also possible via
#ext directives.
The implementation of cppo relies on the standard library of OCaml and
on the standard parsing tools Ocamllex and Ocamlyacc, which contribute
to the robustness of cppo across OCaml versions.
The Pomap-library implements an ADT that maintains maps of partially
ordered elements. Whereas a total order allows you to say whether some
element is lower, equal or greater than another one, partial orders also
allow for a "don-t know" case.
This OCaml-library consists of a set of modules which implement
automatically resizing (= reallocating) data structures that consume
a contiguous part of memory. This allows appending and removing of
elements to/from arrays (both boxed and unboxed), strings (-> buffers),
bit strings and weak arrays while still maintaining fast constant-time
access to elements.
There are also functors that allow the generation of similar modules
which use different reallocation strategies.
OCamlSDL is an OCaml interface to the SDL (Simple DirectMedia Layer) library.
POSIX semaphores for OCaml. The library mimics things found under "man sem"
and "man sem_open".
This library contains functionality for parsing and pretty-printing
S-expressions. In addition to that it contains an extremely useful
preprocessing module for Camlp4, which can be used to automatically
generate code from type definitions for efficiently converting
OCaml-values to S-expressions and vice versa. In combination with the
parsing and pretty-printing functionality this frees the user from
having to write his own I/O-routines for data structures he defines.
Possible errors during automatic conversions from S-expressions to
OCaml-values are reported in a very human-readable way. Another module
in the library allows you to extract and replace sub-expressions in
S-expressions.
The type-conv mini library factors out functionality needed by different
preprocessors that generate code from type specifications, because this
functionality cannot be duplicated without losing the ability to use
these preprocessors simultaneously.
This is a camlp4 extension that expands brace expansions like a shell
does. See sample.ml for examples.