From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id 1D18CD55E for ; Thu, 28 Jul 2005 01:48:24 +0200 (CEST) Received: from smtpout.mac.com (smtpout.mac.com [17.250.248.89]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j6RNmM7k006809 for ; Thu, 28 Jul 2005 01:48:23 +0200 Received: from mac.com (smtpin01-en2 [10.13.10.146]) by smtpout.mac.com (Xserve/8.12.11/smtpout02/MantshX 4.0) with ESMTP id j6RNmGp5000229; Wed, 27 Jul 2005 16:48:16 -0700 (PDT) Received: from [192.168.0.100] (dsl092-032-215.lax1.dsl.speakeasy.net [66.92.32.215]) (authenticated bits=0) by mac.com (Xserve/smtpin01/MantshX 4.0) with ESMTP id j6RNmEvt010788 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NO); Wed, 27 Jul 2005 16:48:15 -0700 (PDT) In-Reply-To: <1122496415.6768.295.camel@localhost.localdomain> References: <9cc3782b05071411004b27b6a4@mail.gmail.com> <42DB6161.4030507@cs.utah.edu> <42DD5F41.8060801@cs.utah.edu> <3d13dcfc05072000347a6a4fba@mail.gmail.com> <42E7AA34.9070801@cs.utah.edu> <1122496415.6768.295.camel@localhost.localdomain> Mime-Version: 1.0 (Apple Message framework v733) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <6A3C1910-2846-43BB-BBDF-C17AD810B1BA@mac.com> Cc: Robert Morelli , Kyle Consalus , caml-list@yquem.inria.fr, David MENTRE Content-Transfer-Encoding: 7bit From: Paul Snively Subject: Re: [Caml-list] Some Clarifications Date: Wed, 27 Jul 2005 16:48:03 -0700 To: skaller X-Pgp-Agent: GPGMail 1.1.1 (Tiger) X-Mailer: Apple Mail (2.733) X-Miltered: at nez-perce with ID 42E81D46.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 hash:01 morelli:01 ocaml:01 aldor:01 assertion:01 o'caml's:01 haskell:01 o'caml:01 aldor:01 o'caml:01 arrays:01 debugger:01 profiler:01 real-world:01 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Jul 27, 2005, at 1:33 PM, skaller wrote: > On Wed, 2005-07-27 at 09:37 -0600, Robert Morelli wrote: > > >> My contention is simply that the program is incomplete; there's >> more to be discovered by implementing more of mathematics. The >> attitude that OCaml is some kind of pinnacle of language development, >> already capable of dealing with all problems (and anyone who fails to >> agree must simply be ignorant), is quite depressing to me. >> > > Good heavens, no one here believes that! Yes, that's quite a straw man. I'd also point out that examples like Axiom and its Aldor language don't support the assertion that OO is somehow better suited to the domain than FP is; on the contrary, they point out that even today, the best research into the automation of mathematics takes place in even richer functional languages with richer type systems than O'Caml's. I think most of us on the list are aware that, e.g. even plain ol' Haskell 98, with its typeclasses, has some advantages over O'Caml, nevermind GHC 6.4 with its GADTs, and nevermind Aldor or Cayenne or Epigram or DML or any of the other languages with one kind or another of dependent types. But as John said, many of us appreciate that O'Caml runs on several platforms, generates plenty good-enough native code for many of those targets most of the time, pays some attention to representation issues in arrays and records, doesn't slavishly abstract from the underlying hardware but is nevertheless memory safe, has a nice time- travel debugger, a profiler for native code, syntactic extensibility that rivals Lisp's, a rapidly growing set of impressive libraries, good foreign-function interfaces, and a top-notch community. O'Caml is the language that I think of as "the obvious alternative to C++," and I wouldn't hesitate to use it commercially on real-world projects, if only it had bindings to Carbon or Cocoa on Mac OS X. :-) Also, as others here have pointed out, O'Caml programmers aren't necessarily averse to using objects when they actually buy us something, but O'Caml doesn't use objects as an organizational dumping ground the way C++ or Java do, since O'Caml has an actual module system, parametric polymorphism, and higher-order functions (yes, I know you know all of this). So perhaps your (Robert) argument is better levied against Haskell programmers, or Concurrent Clean programmers, or Standard ML programmers, than O'Caml programmers? In any case, to the extent that your point is that O'Caml isn't the end of the language design road, I think we're in vehement agreement. However, if your argument is also that object-oriented languages taken apart from features such as higher-order functions, module systems, parametric polymorphism (or, these days, even with parametric polymorphism bolted on), somehow have a clearer evolutionary path than functional languages, I'll have to disagree wholeheartedly. However, it's not clear to me, actually, what your argument is at this point, so I'll stop here. Best regards, Paul Snively -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (Darwin) iEYEARECAAYFAkLoHTwACgkQO3fYpochAqJLKwCfSruR2rr1CxUGa2D4659yyzk1 4WEAoLh0FDRvr36r3Uaaw7DsveHN4nWo =ufoe -----END PGP SIGNATURE-----