From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id PAA31023 for caml-red; Sun, 19 Nov 2000 15:55:03 +0100 (MET) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id PAA24437 for ; Fri, 17 Nov 2000 15:38:47 +0100 (MET) Received: from mail2.microsoft.com (mail2.microsoft.com [131.107.3.124]) by concorde.inria.fr (8.11.1/8.10.0) with SMTP id eAHEcjj19170 for ; Fri, 17 Nov 2000 15:38:46 +0100 (MET) Received: from 157.54.9.104 by mail2.microsoft.com (InterScan E-Mail VirusWall NT); Fri, 17 Nov 2000 06:38:13 -0800 (Pacific Standard Time) Received: by INET-IMC-02 with Internet Mail Service (5.5.2651.58) id ; Fri, 17 Nov 2000 06:38:12 -0800 Message-ID: <0C682B70CE37BC4EADED9D375809768A48FC72@red-msg-04.redmond.corp.microsoft.com> From: Don Syme To: "'STARYNKEVITCH Basile'" , caml-list@inria.fr Subject: RE: Real excellent object oriented source code examples of Ocaml Date: Fri, 17 Nov 2000 06:38:07 -0800 X-Mailer: Internet Mail Service (5.5.2651.58) Sender: weis@pauillac.inria.fr >>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 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