Previous week   Up   Next week

Here is the latest Caml Weekly News, week 02 to 08 january, 2002. 

1) ML GMP new version
2) CamlImages 2.00
3) Stop at exception

1) ML GMP new version
David Monniaux announced:

[Résumé en français: nouvelle version de ML GMP, interface avec GNU MP]

It is my pleasure to announce the new year's day release of ML GMP, the
library interfacing Objective Caml with GNU MP.

It is a complete rewrite of the earlier versions, which should fix some
tricky garbage collection problems reported by some users.

It features:
* Support for mpz (integers), mpq (rationals), mpf (floating-point), and,
optionally, mpfr if compiled with the MPFR extension library
(, which should anyway be integrated into future GNU MP
releases after copyright transfer questions are settled.

* Support for random functions.

* Serialization (hashes will be implemented in the future).

It supports GMP 3.1.1 (and 4.0, but the newer functions are not
supported), MPFR 2001 and 2001-10-26, OCaml 3.02 and 3.04.

It is mostly source-compatible with earlier releases.

The license is LGPL with a special exemption for static linking with an
application (same as the OCaml library).

It ships with an updated copy of J.C. Filliatre's Creal package.

2) CamlImages 2.00
Jun P.FURUSE announced:


I announce the release of the CamlImages version 2.00 - Objective
Caml image processing library.

Version 2.00 of the CamlImages library, by Jun Furuse, Francois
Pessaux, and Pierre Weis, is now available.

CamlImages is an image processing library, which provides to the
objective Caml programmer:

  ** basic functions for image processing and loading/saving various image
  file formats (hence providing a translation facility from format to format),

  ** an interface with the Caml graphics library allows to display
  images in the Graphics module screen and to mix them with Caml

  ** a freetype interface, integrated into the library:
  you can draw texts into images using any truetype fonts,

  ** a set of example programs, including gif animation, slide show, postscript
  converter to print images.

Sources and documentation are available from:

Contributions and comments are welcome.

3) Stop at exception
Magesh Kannan asked:

> I am debugging a large OCaml program and am stuck with an exception. The
> exception is thrown by a utility function that is invoked several times in
> the program. I want to know which invocation of the utility function
> throws the exception. I cannot keep a breakpoint inside the utility
> function because it is called several times in the program.  
> Is it possible to make the ocaml debugger stop at the invocation where the
> exception is being thrown?
> Are there other ways to accomplish the above objective?

and Xavier Leroy answered:

Easy: let the program run until it stops on the exception, then use the
"backstep" command to go back in time to the point where the exception
is raised; then do a "backtrace" command to see where you are.

In OCaml 3.04, you can also run the program outside of the debugger
and request a stack backtrace (set the OCAMLRUNPARAM environment
variable to "b").


Alan Schmitt