Re is a regular expression library for OCaml.
The following styles of regular expressions are supported:
* Perl-style regular expressions (module Re_perl);
* Posix extended regular expressions (module Re_posix);
* Emacs-style regular expressions (module Re_emacs);
* Shell-style file globbing (module Re_glob).
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.
Ulex: An OCaml lexer generator for Unicode.
Parmap is a minimalistic library allowing to exploit multicore
architecture for OCaml programs with minimal modifications: if you want
to use your many cores to accelerate an operation which happens to be a
map, fold or map/fold (map-reduce), just use Parmap's parmap, parfold
and parmapfold primitives in place of the standard List.map and friends,
and specify the number of subprocesses to use by the optional parameter
~ncores.
This is a camlp4 extension that expands brace expansions like a shell
does. See sample.ml for examples.
OpenCL implementations are provided as ICD (Installable Client Driver). An
OpenCL program can use several ICD thanks to the use of an ICD Loader as
provided by this project. This free ICD Loader can load any (free or non
free) ICD.