Contact the author Pierre.Weis@inria.fr
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
If you want to participate to this users' comments page, please send a
with the comment you want to add here.
Thanks in advance.
- 8 Feb 2001: Why I choose Caml
- Arturo Borquez (
aborquez @ altavista.com) wrote
when suscribing to the Caml Mailing list:
- Why I choose Caml ?
- 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.
- it has well designed and powerfull libraries support.
- it also has imperative support and mutable data who certainly well
- a very high quality implementation so you get a close to C, C++
performance and low memory consumption.
- it's extensible semantics and easy to interface C API'S or your own
libraries. In electronical terms it has a 'wide bandwidth'.
- it is quite readable, elegant no need of bloated and unnecessary
- 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++.
- 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 @ anthro.unige.ch)
- 3 October 1999: Real world Caml
From: "Toby Moth" <firstname.lastname@example.org>
To: "'Pierre.Weis@inria.fr'" <Pierre.Weis@inria.fr>
Subject: Real world ocaml
I have now finally used Ocaml in a 'real world' situation. Here is how
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 comp.lang.ml 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"
>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: email@example.com (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
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
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."
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
C'est Magnific! Merci Beaucoup!
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 : firstname.lastname@example.org
| 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
- 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
- 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.
| 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) 02.40.37.16.00 poste 18.57 |
| Fax: (+33) 02.40.37.25.22 |
| E-mail: email@example.com |
- 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
Specifically this means:
- a Maple expression (NOT statements) to ocaml translator, for
automatic code generation;
- some numerical grinding support code, all written in ocaml, to
use the generated code and solve elliptic PDÉs via a relatively
new (>20 years old, and hard/messy to implement, hence ocaml)
In support of this, and to practice ocaml/camltk, there are also:
- a minimal x-y data plotter
- a 2D box-based display engine with a simple line breaking
mechanism, similar to that found in the Format module. Thus, one can
pretty print math code properly (as far as the symbol font allows),
and still get line breaking.
NAME: Michael Hohn
URL: http://www.math.utah.edu/~hohn (badly out of date)