Contact the author
File created 26 Jun 1998.

Some quotes from our users

This page aims at publishing comments from Caml's users. It may also be an easy way for Caml programmers to interact, to exchange ideas, and to share libraries they develop.

All these comments were sent by our users when subscribing (or unsubscribing!) to the Caml mailing list, or as part of a post to this list. These are indifferently written in french or english. All authors mentionned in this page explicitely agreed to be cited here.
If you want to participate to this users' comments page, please send a message to with the comment you want to add here.
Thanks in advance.

8 Feb 2001: Why I choose Caml
Arturo Borquez (aborquez @ wrote when suscribing to the Caml Mailing list:
Why I choose Caml ?
  1. it is a functional language, much more safer coding than imperative languages like C, C++, Java. Strong typed languages are better than weak typed ones, because you need less debbuging effort. High level native objects (lists, tuples...) and a GC, a modern language must have a GC.
  2. it has well designed and powerfull libraries support.
  3. it also has imperative support and mutable data who certainly well used, helps.
  4. a very high quality implementation so you get a close to C, C++ performance and low memory consumption.
  5. it's extensible semantics and easy to interface C API'S or your own libraries. In electronical terms it has a 'wide bandwidth'.
  6. it is quite readable, elegant no need of bloated and unnecessary declarations.
  7. it is easy to learn, and it's inherent mathematic coherence helps a lot. At my job two 'clipper' programmers with no special mathematic background and no OO knowledge are writing very decent code in Caml, they couldn't do it in C++.
  8. better than C, C++, JAVA, PYTHON, PERL, RUBY, PASCAL....etc. Finally I am quite impressed with Caml and I believe that Caml is well suited for really professional apps in the real world, excellent. I have coded a small app (client SQL graphical tool for GigaBase) whith the bindings for the database and I've used LablGtk from Jacques Garrige for graphic user interface. I is about 590 lines of code (you must take in account that I am just learning Caml). Similar programm in C with Glade takes about 1500 lines in the graphic interface and another 1000 lines of app code and a lot of debbuging. At this time I don't kwnow how to debbug a Caml programm and I've did it!.
01 Feb 2001: have liked to knew Caml before
I work in population genetics and I'm learning and using Ocaml to
implement some of my research.
I find it very elegant.

Even if I cannot always find a quick way to do the job, certainly due to
my c-thinking, it is a plesaure to work with.

I would have liked to knew it when I started my PhD.

Congratulations and my best wishes for you and your team,
JM Nunes (Jose.DeAbreuNunes @
3 October 1999: Real world Caml
From: "Toby Moth" <>
To: "''" <>
Subject: Real world ocaml

I have now finally used Ocaml in a 'real world' situation. Here is how
it happened.

I now work at Nortel Networks. Some people in Product Verification
wanted a program that would decode the BTUP protocol ( British
Telephony User Part ). 
That is to say, they wanted a program that would take a hex sequence
and write out a pretty description in English of what that sequence
meant. Their only requirements were:

1) write this quickly
2) make sure it works

I wrote the decoder in Ocaml in under a week and there are no known
Everyone is happy.

15 April 1999: In the newsgroup
Subject: Re: ML, a good investment ?
Date: 15 Apr 1999 14:17:18 GMT
Organization: Carnegie Mellon Univ. -- Computer Science Dept.

On 15 Apr 1999 13:30:27 GMT, "Patrick Fichou"
<> wrote:
>I would like to know if learning ML can be a good investment. Is this
>language useful in developping Softwares for a company ?

Very much so, in my opinion.

>Another question : is CAML a good ML dialect ?

OCaml is the fastest ML, and is very complete.  It is the
only ML with OOP included.  I have been using it for two
and a half years now, and have been extremely impressed with
the support offered by the developers.  I also have SML/NJ
and ML-Works from Harlequin, but I never use them.  I use
OCaml for every project I can (that is, every project where
it fits in).  

It's also a heck of a lot of fun to learn.


From: (Dwight VandenBerghe)
1 Mar 1999: Subscribing to the Caml mailing list
I spent many years as a Lisp programmer followed by C++ and now Java. I've recently found myself with more spare time at home and have been considering helping out the open source community (though I haven't figured out what to work on yet). I've been exploring languages/environments for this development work. I'm basically unwilling to do a lot of C/C++ coding any more (unless it's in support of a language environment that needs to be fast). The two systems I've found so far that are appealing are the Squeak Smalltalk system and the Objective Caml system.
Squeak is a wonderful environment for exploration but seems to be lacking many of the things that this kind of development would require (native windowing, threads, standalone executables, very high performance). I've read several things on the web related to Objective Caml's high performance and I had heard a lot of good things about ML from the MLWorks people when I was working at Harlequin Ltd. in their Lisp group. I have to say I've been extremely pleased with what I've found. I'm particularly impressed with Objective Caml's performance, its debugger, and all the libraries that are already supplied (threads, weak refs, system calls, lexing and parsing, etc.) It sems like everything needed to do serious programming is available. My previous experience has been that every high-level environment I've found has some lack when it comes to using it for everyday programming.
Objective Caml is the closest thing I've seen to a high-level environment that could really take over from the low-level languages for the vast majority of programming tasks. If there were bindings for CORBA, ODBC, and GTK+, it seems to me that it would clearly be the system of choice for any open source development project.
Thanks for building such an excellent system.
--Jerry R. Jackson
NAME: Jerry R. Jackson
22 Feb 1999: Subscribing to the Caml mailing list
I'm a recent Ph.D. employed by Motorola at the Somerset Design Center, where we design PowerPC microprocessors. My main activity is research and development in the area of formal verification tools and technologies.
One of the tools that we are having great success with here is Voss, developed by Carl Seger (now of Intel) while he was a post-doc at Carnegie Mellon, and later while he was assistant professor at the University of British Columbia. The tool is essentially a marriage of three components, a BDD package, a symbolic simulation engine, and a functional programming language -- essentially a Caml subset, but with strictly lazy evaluation. All three components were custom written by Carl himself.
The marriage has proved extremely useful. However we are finding the burden of maintaining our own programming language and our own BDD package somewhat heavy. As a result, I am re-building the tool, using Ocaml as the programming language, and CUDD, the bdd package from Colorado. So far, this approach seems very promising. I have an interface with CUDD working well, and I've been able to re-write the symbolic simulator in Ocaml itself with great success. About 3500 lines of extremely fragile "C" code has turned into about 700 lines of very readable, and more importantly robust, Ocaml code. The entire process didn't take more than two or three weeks of effort.
Looking further afield, much of what our CAD-tools group does falls under the umbrella of parsing small languages and manipulating symbolic expressions. Moreover, I suspect that a ridiculous amount of time is wasted debugging memory management/pointer related problems in "C" code. So, if my work with symbolic simulation is successful, I can see great potential for other people in my group to use Ocaml as well. I am actively promoting it here as best I can.
Indeed, I would like to extend my congratulations to yourself, and your associates. From my first exposure to Ocaml last November, until now, I have been continuously impressed. The language itself seems very natural. The implementation has installed without difficulty on our AIX boxes, on our Sun workstations, and on my Pentium Linux box at home. The documentation is terrific, and the libraries seem extensive, and the performance of the utilities, and my compiled code is exceptional. You should all be very proud of what you have accomplished. I also enjoyed reading the sides for Xavier's graduate course: "Objective Caml: the language and its type system."
Andy Martin
NAME:  Andrew  Martin
2 Jan 1999: a language comparison on numerical modeling
I have just finished a major language comparison aimed at supporting my work in numerical modeling and scientific data analysis. I coded a real application that we use constantly in OCAML as a testbed for judging the performance of ML-like languages against the conventional Fortran-like language that we have been using. The results of the study are both subjective and objective.

On the subjective side, all of the modern functional languages win handsomely - with OCAML slightly in the lead.

On the objective measure, OCAML performs a gueling computation flawlessly and beyond my wildest expectations. In fact, OCAML works -- and the conventional language approach with the identical algorithm does not work at all on the big problems -- only on the little ones.

You can read and see all about it here.

C'est Magnific! Merci Beaucoup!

David McClain
Sr. Scientist, Raytheon Missile Systems Co., Tucson, AZ

28 Sept 1998: subscribing to the Caml mailing list
Le CENA est le Centre d'Études de la Navigation Aérienne qui étudie les futurs outils du contrôle aérien. Dans ce cadre, je dois travailler sur un simulateur de traffic aérien écrit en CAML par un collègue.
Plusieurs personnes connaissent et utilisent CAML sur l'ENAC, et un cours est donné sur CAML, chaque année, aux ingénieurs.
À bientôt, Pierre Ricci.

 Pierre RICCI     | Email :
                  | Tel   : (+33) 62 25 95 28
 CENA Toulouse    | Fax   : (+33) 62 25 95 99
 Cellule MSS ( Modelisations Stochastiques et Statistiques )

 7 avenue Edouard Belin  BP 4005
 31055 Toulouse Cedex    FRANCE
25 Sept 1998: subscribing for the third time to the list
I'm using the caml compilers since caml-light 0.6. I have used them as a general purpose programming tool: I wrote little games, system utilities, simulations. The most important aspect of O'Caml for me is the ease of writing interpreters for prototype languages with it. And, of course, it does not hog my ancient machine, like other ML compilers do!
Best regards.
Pierpaolo Bernardi
23 Jun 1998: Unsubscribing from the Caml mailing list
Je me suis retiré de votre liste afin de limiter l'encombrement de ma boîte aux lettres. Non pas que les messages diffusés étaient inintéressants, bien au contraire, beaucoup d'entre eux étaient fort instructifs, mais leur lecture me prenait un peu trop de temps. Je n'ai pas eu l'occasion de profiter de la liste, ayant toujours trouvé les solutions à mes problemes dans le manuel en ligne du langage que je trouve d'une grande clarté et d'un emploi très aisé.
J'en profite ici pour vous dire combien je suis satisfait du langage Objective Caml. Je programme des outils de vérification, et, sans exagérer, l'utilisation de ce langage plutot qu'un autre tel que le C m'a fait gagner énormément de temps. Je ne connaissais que très peu les langages de la famille ML auparavant, mais la facilité avec laquelle on programme et on débogue m'ont définitivement conquis.
Patrice Boisieau
| IRCyN : Institut de Recherche en Cybernetique de NANTES       |
| UMR CNRS 6597                                                 |
| Ecole Centrale de Nantes                                      |
| 1, rue de la Noe, BP 92101                                    |
| 44321 NANTES CEDEX 3 FRANCE                                   |
| Tel:          (+33) poste 18.57                |
| Fax:          (+33)                            |
| E-mail:                       |
22 Jun 1998: Subscribing to the Caml mailing list
I'm using ocaml (but not really the object system) for all those things previously done using a combination of Python, C/C++, Java and Tcl/Tk.
Specifically this means:

In support of this, and to practice ocaml/camltk, there are also:

NAME:   Michael Hohn
URL:  (badly out of date)