Libraries and tools in the Caml Light distribution

Gnu Emacs Caml Mode
The Caml major mode is triggered by visiting a file with extension .ml, .mli, .mly. .mll or .mlp, or manually by M-x caml-mode. It gives you the correct syntax table for the Caml language, and also a rudimentary indentation facility.

The Caml mode also allows you to run batch Caml compilations from Emacs (using M-x compile) and browse the errors (C-x `). Typing C-x ` sets the point at the beginning of the erroneous program fragment, and the mark at the end. Under Emacs 19, the program fragment is temporarily highlighted.

M-x run-caml starts a Caml toplevel with input and output in an Emacs buffer named *inferior-caml*. This gives you the full power of Emacs to edit the input to the Caml toplevel.

This contribution is available from the standard Caml Light distribution , in the contrib directory.

Caml-Tex
The caml-tex filter extracts Caml Light phrases embedded in LaTeX files, evaluates them, and insert the outcome of the evaluation after each phrase.

This contribution is available from the standard Caml Light distribution , in the contrib directory.

The libgraph library
The "libgraph" library implements the portable graphics library (module "graphics") under X11 release 4 or 5. See the reference manual for a description of the "graphics" module.

This contribution is available from the standard Caml Light distribution , in the contrib directory.

The libnum library
The "libnum" library implements exact-precision rational arithmetic. It is built upon the state-of-the-art BigNum arbitrary-precision integer arithmetic package, and therefore achieves very high performance (it's faster than Maple, for instance).

This library is derived from Valérie Menissier-Morain's implementation of rational arithmetic for Caml V3.1 (INRIA), and builds on the BigNum package developed by Bernard Serpette, Jean Vuillemin and Jean-Claude Herve (INRIA and Digital PRL). Xavier Leroy (INRIA) did the Caml Light port.

This library is documented in "The CAML Numbers Reference Manual" by Valerie Menissie-Morain, technical report 141, INRIA, july 1992, available by anonymous ftp

This contribution is available from the standard Caml Light distribution , in the contrib directory.

The libunix library
The "libunix" library makes many Unix system calls and system-related library functions available to Caml Light programs. See the reference manual for a description of the "unix" module.

This library has been contributed by Xavier Leroy (Xavier.Leroy@inria.fr).

For those of you who read French, this library is documented in "Programmation du systeme Unix en Caml Light" by Xavier Leroy, technical report 147, INRIA, 1992, available by anonymous ftp. The examples in the directory Examples/ come from this report.

This contribution is available from the standard Caml Light distribution , in the contrib directory.

The mletags program
In the style of ctags and etags, this program generates a "tags" file for Emacs from Caml Light sources.

Contributed by François Rouaix (Francois.Rouaix@inria.fr).

This contribution is available from the standard Caml Light distribution , in the contrib directory.

The search_isos program
Given a type expression and a set of module interfaces (.zi files), "search_isos" displays all global values defined in the modules whose types match the given type.

Type matching is performed modulo type isomorphisms, so that if you search for "int * string -> int", you will also get values with types "int -> string -> int" and "string -> int -> int", which is what you want.

Contributed by Roberto Di Cosmo (dicosmo@dmi.ens.fr).

This contribution is available from the standard Caml Light distribution , in the contrib directory.

The Caml-Tk library
TK is a GUI library for the TCL language. Normally, TK is controlled from TCL. The Caml-TK interface provides a Caml Light library to control TK from Caml Light programs. Thus, TK can be used to program graphical user-interfaces in Caml Light without knowledge of the TCL language.

Contributed by François Pessaux and François Rouaix.

This contribution is available from the standard Caml Light distribution , in the bazar-cl directory.

The documentation is available, in dvi format here, and also online.


Caml - Cristal - Homepages - Contact Web Administrator - Last modified: 2003/05/09