Version française
Home     About     Download     Resources     Contact us    

The Caml Hump: Programming languages :: Typing

Stable

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.
Development tools
OCamlDuce [29-Aug-2011, version 3.12.1.0, Stable] Has a Godi packageHas a documentationHas a tutorial
OCamlDuce is a merger between OCaml and CDuce. It comes as a modified version of OCaml which integrates CDuce features: expressions, types, patterns.
Author: Alain Frisch.

Beta

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.

Alpha

Scientific software
Dependent ML [18-Sep-2002, Alpha] Has a documentation
Dependent ML (DML) is an experimental extension of ML with a restricted form of dependent types.
Author: Hongwei Xi.
Camlp4 extensions
Memcheck [20-Dec-2006, Alpha]
A module for runtime type checking in Ocaml. Memcheck is very similar to SafeUnmarshal but without a few of SafeUnmarshal's limitations. In particular, with Memcheck it only takes seconds to check a few megabytes instead of hours as with SafeUnmarshal.
Author: Hendrik Tews.
Development tools
Saffire [31-May-2005, Alpha] Has a documentation
Saffire is a static analysis program that detects bugs in programs that use the OCaml/C foreign function interface. Saffire works by performing type inference across both OCaml and C to make sure that values are used consistently across the language boundary. For instance, if a OCaml passes a record to a C function, that C function should not treat the data as an integer. Saffire also tracks what C variables point into the OCaml heap and ensure they are always registered with CAMLparam/local before any allocation functions are called.
Author: Michael Furr.
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.