English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
RE: Real excellent object oriented source code examples of Ocaml
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2000-11-19 (14:55)
From: Don Syme <dsyme@m...>
Subject: RE: Real excellent object oriented source code examples of Ocaml
>From previous discussions on this list, it seems to me that most people find
the OO features of OCaml pretty unnecessary for most applications.  There
are exceptions, but I'd be really surprised if implementing static analyses
was one of these.  

I think perhaps it should be the other way around: maybe your friend should
be trying to convince you why objects are the right idiom for encoding the
constructs he's interested in.  There is nearly always a satisfactory way of
expressing the code using the non-object features of OCaml.  And, if not,
then the OCaml object system normally suffices.

To be a little more provocative, it may be that the lack of "excellent OO
source code examples in OCaml" is a symptom of the general lack of excellent
OO source code examples at all, in any language.  There are exceptions, but
it's not like I look at many OO programs and think "that's just perfect" - I
think "I guess it does the job, but it's kind of gross".  Please feel free
to point me to samples to convince me otherwise.


-----Original Message-----
From: STARYNKEVITCH Basile [mailto:Basile.Starynkevitch@cea.fr]
Sent: 17 November 2000 12:15
To: caml-list@inria.fr
Subject: Real excellent object oriented source code examples of Ocaml

Hello All,

I am trying to interest a young collegue Franck VEDRINE
<franck.vedrine@cea.fr> to Ocaml-3.00. He is an excellent C++ coder
and a respected young specialist of abstract interpretation (on which
he got a PhD recently -regarding abstract interpretation of C++
code). We are both working in the domain of static analysis of
embedded C code (eg critical C code in nuclear plants or aircrafts)
using abstract interpretation techniques and are supposed to deliver
some working prototype (sadly proprietary) tools on that subject.

Franck wants to see real good Ocaml-3 code using all -or most of- the
fancy advanced object-oriented features (with multiple inheritance,
class types, functors, etc...). And I did not found much of such code
(e.g. OO features are almost unused in the Ocaml compiler).

I am trying to show him that most of the advanced features of C++
(templates, overloading, multiple inheritance) have their equivalent
in Ocaml thru real source code (or that they are less useful, like C++

I did not yet convince Franck that functional programming has many
advantages of OO style -at least in our domain of static analysis (on
which Franck is an expert and I am still a newscomer)-. So
I am sticked to exhibit excellent object oriented Ocaml code.

I tried to show the interest of garbage collection by coding a precise
[mostly copying generational, with some finalized marked objects]
garbage collector in C++ (conservative GCs a la Boehm or Barlett was
considered not enough safe at my place at that time). So I would
believe that Franck knows somehow the interest of GC today - and the
possibility of efficient garbage collection in practice.

I initiated on this Ocaml mailing list in july 1999 a very remotely
related thread on the subject "convincing management to switch to
Ocaml" (I did not succeed on that point, but I am still trying....)
see for instance

Does any one have a nearly complete list of OO ocaml code? (I know
about LablGtk, and the ocamlopt machine code emitter)


Court resume francais: [[short french abstract]]


je cherche a convaincre un excellent collegue - Franck VEDRINE-
(specialiste de C++ et expert en interpretation abstraite) de l
interet d Ocaml. J ai donc besoin de code source Ocaml d excellente
qualite utilisant toutes (ou la majorite) des possibilites de
programmation orientee objet d Ocaml-3.00. Franck est un jeune
specialiste de l'analyse statique (par interpretation abstraite) de
code -un domaine [analyse statique de code critique en C] ou nous
travaillons ensemble mais ou je suis encore debutant.



N.B. Any opinions expressed here are only mine, and not of my organization.
N.B. Les opinions exprimees ici me sont personnelles et n engagent pas le

Basile STARYNKEVITCH   ----  Commissariat a l Energie Atomique 
DTA/LETI/DEIN/SLA * CEA/Saclay b.528 (p111f) * 91191 GIF/YVETTE CEDEX *
phone: 1,; fax: home: 1,
email: Basile point Starynkevitch at cea point fr