caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Don Syme <dsyme@microsoft.com>
To: "'STARYNKEVITCH Basile'" <Basile.Starynkevitch@cea.fr>,
	caml-list@inria.fr
Subject: RE: Real excellent object oriented source code examples of Ocaml
Date: Fri, 17 Nov 2000 06:38:07 -0800	[thread overview]
Message-ID: <0C682B70CE37BC4EADED9D375809768A48FC72@red-msg-04.redmond.corp.microsoft.com> (raw)

>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.

Cheers,
Don


-----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++
overloading).

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
"http://pauillac.inria.fr/bin/wilma_hiliter/caml-list/199907/msg00055.html?l
ine=3#hilite"


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

Regards

================================
Court resume francais: [[short french abstract]]

Bonjour,

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.

Cordialement


================================


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
CEA.

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



             reply	other threads:[~2000-11-19 14:55 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-11-17 14:38 Don Syme [this message]
2000-11-19 15:48 ` Mattias Waldau
  -- strict thread matches above, loose matches on Subject: below --
2000-11-20 20:43 David McClain
2000-11-21 16:49 ` Brian Rogoff
2000-11-17 12:14 STARYNKEVITCH Basile
2000-11-20 13:46 ` Xavier Leroy
2000-11-23 19:32 ` Anton Moscal
2000-11-28 14:12 ` Renaud.Rioboo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0C682B70CE37BC4EADED9D375809768A48FC72@red-msg-04.redmond.corp.microsoft.com \
    --to=dsyme@microsoft.com \
    --cc=Basile.Starynkevitch@cea.fr \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).