Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

The Caml Hump: Patch


Extensible Open Datatypes in OCaml [17-Apr-2012, version 1.0.2, Stable] Has a documentation
A patch for the OCaml compiler that adds extensible open datatypes. One open type already exists within OCaml: the exn type used for exceptions. This patch extends this mechanism to allow the programmer to create their own open types.
Author: Leo P White.


A prototype that does dynamic contract checking for OCaml code. The prototype is built upon the source code of ocamlc-3.11.2.
Author: Dana N. Xu.
ocaml-option [09-Aug-2001, version 2001-01-04, Beta]
A patch against OCaml 3.00. It implements a proposal for a tiny extension of the OCaml module system, allowing optional value fields in module types. This is similar to optional arguments.
Author: Alain Frisch.
RTT [17-Dec-2012, version 0.4, Beta] Has a documentationHas a tutorial
RTT is a prototype implementation of run-time typing in OCaml. It allows programmers to use functions such as to_string: 'a -> string (for all 'a). The present solution focuses on being fully automatic, and providing the actual run-time type of values (including when it is more precise than the static type, because of polymorphism). On the other side, types are represented in an untyped way (no GADTs) and we only provide a minimal library for the purpose of the demonstration.
Author: Tiphaine Turpin.


Enhtop [05-May-2009, version 3.11.0, Alpha] Has a documentation
This is an experimental patch (we also provide pre-built testing executable and Debian package) for an enhanced OCaml toplevel with additional features. For any kind of bindings (i.e. value, type, module, class etc.): Identifiers been rebound are shown differently by default, to distinguish with currently effective ones; a new directive to query (by kinds or names or their composition) and show both current and history bindings; a new directive to show the current binding of any identifier without evaluating or rebinding it; a type-check-only testing mode to experiment your definitions without polluting the world, and the directive to enter/leave it.
Author: Zheng Li.
HashCaml [27-Apr-2006, Alpha] Has a documentation
an extension of the OCaml bytecode compiler with support for type-safe marshalling and related naming features. HashCaml builds on earlier work on Acute but is a distinct language design and implementation.
Type safe unmarshalling functions [26-Jun-2006, Alpha] Has a documentation
A patch for Objective Caml that provides type safe unmarshalling functions.

Development code

Calculating with Signatures [04-Aug-2004, Development code]
An extension to the signature language of ocaml. The patch is for ocaml-3.08.0 and provides some operations on signatures. It is still at an experimental state but mostly working.