Previous week Up Next week


Here is the latest Caml Weekly News, for the week of 09 to 16 December, 2003.

Next week's CWN might be slightly delayed as I am moving back to France.

  1. Data structures and algorithms in Caml programs
  2. Tutorials and books
  3. Matrix libraries
  4. CamlFloat

Data structures and algorithms in Caml programs

Diego Olivier Fernandez Pons announced:
I have reviewed 20 programs I think representative of Caml, trying to
investigate the usages and needs in data structures and algorithms.

The purpose is to have a more precise idea of what is really giving
trouble and help library designers to provide solutions that are
closely related to the programmers needs.

All comments are welcome including corrections and programmers
feedback on code design, etc.

Reviewed programs

Caml (21)

(data) aifad, ibal
(bioinformatics) biocaml
(compilation) ccured, dml, fftw, flowcaml, mojave
(constraint solving) cime, facile, wallace
(parsing) cil, cfg, sister-head
(text) cduce, galax, hevea, regex, timbuk
(theorem proving) coq, harrison, link

Standard ML (1)

(compilation) mlrisc

Haskell (4)

(parsing) alex, happy, parsec
(text) regexplib

Tutorials and books

Joaquin Bernal asked:
Hi all. I've just subscribed to the list (most redundant sentence
ever) so I'm dropping the first question. Are there any tutorials or
books available for download (english or spanish) besides Michael
Mauny's "Functional Programing using Caml Light" and the OCaml 3.07
Reference Manual itself?
Benjamin Geer answered:
The O'Reilly book _Developing Applications with Objective Caml_ is

You'll find several tutorials here:


You might also be interested in the ocaml-beginners mailing list:
Dustin Sallings also answered:
Besides the ora reference, I've found this book to be pretty good:

Matrix libraries

Romildo asked and Markus Mottl answered:
> I am looking for a good library for numerical
> matrixes manipulation in OCaml. Can anybody help me?

Although it has already been on the web for a few weeks, I hadn't actually
announced it yet, waiting for comments of some co-developers:

Lacaml is available in a new major version. This library interfaces
the Fortran libraries BLAS and LAPACK for heavy-weight linear algebra
(i.e. matrix computations). New features include support for complex
transformations (complex numbers), and a convenient way of accessing
submatrices using labels. As usual, you can choose either single or
double precision computations. The computations can run in parallel
on SMP-machines.

You can download the library here:

I'd be grateful for feedback!


Shivkumar Chandrasekaran announced:
I was hoping to hold off on announcing this until the new year..... So
please take this as just a "pre-announcement".

We plan to release CamlFloat, a "matlab-like" (hopefully better)
interface to Lapack+Blas "soon". Unfortunately, it is *not* (yet) built   
on top of Lacaml.  It comes with a fully documented interface, a
tutorial, and a block-sparse matrix module. The code has been
extensively used in our own research.

For people who cannot wait, they can find a preliminary release here:

CleanFloat, a similar package for Clean ( will
also be made available.

Using folding to read the cwn in vim 6+

Here is a quick trick to help you read this CWN if you are viewing it using vim (version 6 or greater).

:set foldmethod=expr
:set foldexpr=getline(v:lnum)=~'^=\\{78}$'?'<1':1

If you know of a better way, please let me know.

Old cwn

If you happen to miss a CWN, you can send me a message and I'll mail it to you, or go take a look at the archive or the RSS feed of the archives.

If you also wish to receive it every week by mail, you may subscribe online.

Alan Schmitt