English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

The Caml Hump: Open Source :: MIT/X11

Communications and networking

Bindings with C libraries
Ocurl [31-Jan-2013, version 0.5.4, Beta] Has a Godi package
An OCaml binding for the libcurl multi-protocol file transfer library.
Authors: ygrek and Lars Nilsson.

Other protocols

ocamlmq [01-Jul-2010, Development code] Has a documentation
ocamlmq is a STOMP message broker with features that make it especially suitable for implementing task queues and communication between subsystems.


Bindings with C libraries
Ocaml-Sqlite [16-Apr-2004, version 0.3.5, Alpha]
Bindings for accessing Sqlite databases from ocaml programs.
Bindings with C libraries
OCaml-SQLite3 [26-Feb-2007, version 0.12, Beta] Has a Godi package
OCaml bindings to the SQLite 3 database access library.


O'Chess [01-Dec-2005, version 0.2, Alpha]
O'Chess is a simple chess engine written in O'Caml.
Author: Oleg Trott.

General purpose libraries

Numeric computation

Native OCaml libraries
Contfrac [31-Mar-2004, version alpha-1, Alpha]
An OCaml module for performing exact arithmetic on real numbers by representing them as continued fractions. It implements the well-known algorithm described by R.W. Gosper (see reference below). The continued fractions are lazy evaluated (eventually infinite) lists. Basic arithmetic operations as well as many transcendent functions are available.
Author: Thomas Baruchel.


Native OCaml libraries
cryptgps [09-Aug-2001, version 0.2, Beta] Has a Godi package
Symmetric cryptographic algorithms: Blowfish, DES, 3DES.
Author: Gerd Stolpmann.


3D graphics

Scientific software
OPath [16-Aug-2005, version 0.2, Alpha]
OPath is a physically based renderer written in Objective-Caml, currently it implements a variety of spectral BSDFs and several rendering algorithms including distribution ray tracing, path tracing and 'Instant Global Illumination'. It can render reasonably high polygon meshes and exclusively uses area light sources (currently only spheres).
Author: Jamie Clarkson.

2D graphics

Bindings with C libraries
Bindings for Chipmunk [30-Apr-2008, version 0.01, Stable]
Chipmunk is a rigid body physics library, designed for 2D video games. It is intended to be fast, numerically stable, and easy to use.
Author: Florent Monnier.

Programming languages


Bindings with C libraries
ocaml-lua [10-Sep-2012, version 1.0, Stable]
OCaml-lua provides bindings to the Lua programming language. Lua is a scripting language particularly useful when you need to embed a language in your application. This project provides the bindings required to embed Lua.
Author: Paolo Donadeo.


Sebib [19-Apr-2010, version 1.0.0, Stable] Has a documentation
Sebib means "S-Expressions for BIBliography", it provides a hackable Bibliographic References Management System.



Native OCaml libraries
Caml-shift [12-Aug-2010, version 2010-08-11, Stable]
two OCaml implementations of Dybvig, Sabry, Peyton-Jones' delimited continuation framework. The framework supports `static' ( shift/ reset) and `dynamic' ( prompt/ control, shift0, control0) delimited continuation operators with multiple, arbitrarily typed prompts.

Software development


Native OCaml libraries
OUnit [18-Jun-2012, version 1.1.2, Stable] Has a Godi package
Unit test framework for ocaml. It is based on HUnit, a unit testing framework for Haskell.

Language extensions

Camlp4 extensions
OSpec [05-May-2009, version 0.2.0, Beta]
OSpec is syntax extension and supporting library for Behavior Driven Development in OCaml.
Author: Andre Nathan.
Camlp4 extensions
pa_log [30-Mar-2007, Stable] Has a documentation
A small camlp4 extension that allows conditional logging commands with a simple syntax.
Camlp4 extensions
pa_macro_arg [02-Apr-2007, Development code] Has a documentation
This is an add-on to the standard Pa_macro syntax extension which allows for command-line arguments of the form -DEFuid=expr where uid is an upper-case identifier (a macro name) and expr is an arbitrary OCaml expression.
Author: Andrew Conway.
Camlp4 extensions
pa_monad [10-Dec-2008, version 6.0, Stable]
Camlp4 extension for monadic expressions in OCaml.
Authors: Oleg Kiselyov, Lydia E. van Dijk, and Jacques Carette.
Camlp4 extensions
pa_polyrec [29-Sep-2009, version 0.1, Beta]
pa_polyrec is a camlp4 extension providing polymorphic recursion.
Author: Jeremy Yallop.
Camlp4 extensions
xstrp4 [07-Nov-2005, version 1.6, Stable]
The xstrp4 extension of the camlp4 preprocessor adds the well-known $identifier expansions to Caml.
Author: Gerd Stolpmann.

Development environments

Development tools
Merlin [21-Feb-2013, Beta] Has a documentation
Merlin is a tool which providessmart completion, among other things, in your favorite editor. As of today, Vim and Emacs are supported.
Author: Frédéric Bour.
Development tools
WideStudio [27-Jul-2009, version 3.98, Stable] Has a documentation
WideStudio is an open source, Integrated Development Environment for desktop applications purely made in Japan. This enables you to develop GUI applications that can run on Windows95/98/Me/NT/2000/Xp/Vista, WindowsCE, Linux, FreeBSD, SOLARIS, MacOSX(w/X11), BTRON, T-Engine, mu-CLinux(wo/X11) in various programming languages such as C/C++, Java, Perl, Ruby, Python, Objective Caml. Since an application is build on MWT(Multi-Platform Widget Toolkit) which runs on multiple platforms, WideStudio applications are all source compatible between these platforms.

Build tools

Development tools
Findlib [18-Jun-2012, version 1.3.2, Mature] Has a Godi packageHas a documentation
A library manager for Objective Caml.
Author: Gerd Stolpmann.
Development tools
findlib-browser [09-Aug-2001, version 0.1.1, Alpha] Has a Godi package
CGI script that browses packages managed by findlib.
Author: Gerd Stolpmann.
Development tools
ocamlbrew [09-Jan-2012, Alpha] Has a documentation
ocamlbrew aims to be a simple tool for getting up and running with various versions of OCaml. The concept, along with some basic code, is borrowed from perlbrew.
Development tools
ocamlbuild-ctools [13-Oct-2008, version 0.1.0, Beta] Has a documentation
An ocamlbuild plugin that supports compiling C and C++ cross platform using ocamlbuild only. Variant builds - can build many different variants from the same source tree. For example static libraries, test builds, debug, optimization, linking or not linking with some other code, different platform builds etc. Automic recursive header file generation - needed for pulling source into _build directory. It used to be able to rebuild on header file change, but it has regressed - it is possible that .stamp files do not hold signatures of dependencies of dependencies or something. It has not been tested on Windows, but build rules have been copied from old build scripts so it should not be that hard to get going.
Development tools
Symbiosis [13-Oct-2008, version 0.1.0, Beta] Has a documentation
This is a meta build system. It is implemented as an ocamlbuild plugin. It checks out source code from repositories and starts builds of individual components. Because ocamlbuild doesn't support linking additional files, a lot of different code is collected in a single file. This includes a JSON parser for configuration files. Symbiosis tries to avoid the problem of collecting all source dependencies in one large tree, or alternatively installing dependencies on the system. The former makes it difficult to change dependent component versions. The latter makes it difficult to quickly test different build version complicates developer setup. Correctly configured, just call ocamlbuild with a target for the top most component to build. All the source should be appear in the working directory and build. Initially it can be complex to set up, but once done, it is rather easy to add new components with interesting dependencies.


Native OCaml libraries
equeue [04-Jan-2004, version 2.0, Stable] Has a Godi packageHas a documentation
Equeue is a library that offers general purpose event queues and event queues for system events.
Author: Gerd Stolpmann.

System programming

Native OCaml libraries
FDinfo [04-Jul-2011, version 0.2.1, Beta]
a small library written in O'Caml to get the current offset and flags of files opened by another process.
Author: Gregory Bellier.

File systems and system administration

google-drive-ocamlfuse [16-Aug-2012, version 0.1pre3, Alpha] Has a documentation
google-drive-ocamlfuse is a FUSE-based file system backed by Google Drive, written in OCaml.
Bindings with C libraries
ocaml-glob [27-Oct-2008, version 0.1.0, Beta]
This is a trivial wrapper around libc's glob(3) function for OCaml. The Glob module interface contains a single function, glob. This function takes a string argument possibly containing shell wildcards, and returns an array containing the names of the file system entries matching it.
Author: Andre Nathan.
Bindings with C libraries
OCamlPAM [25-Feb-2008, version 1.0, Stable]
OCamlPAM is a wrapper for the Pluggable Authentication Modules (PAM) library. PAM provides a flexible mechanism for authenticating users via administrator-defined policies.


Native OCaml libraries
Ohm [09-Oct-2012, Beta] Has a tutorial
Ohm is an open source web framework for the OCaml language.
Author: Victor Nicollet.