From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id RAA22894; Mon, 21 Jul 2003 17:18:45 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id RAA32310 for ; Mon, 21 Jul 2003 17:18:44 +0200 (MET DST) Received: from nexus.stwing.upenn.edu (NEXUS.STWING.UPENN.EDU [165.123.132.61]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id h6LFIcT03923 for ; Mon, 21 Jul 2003 17:18:38 +0200 (MET DST) Received: from force.stwing.upenn.edu (root@force.stwing.upenn.edu [165.123.132.65]) by nexus.stwing.upenn.edu (8.12.9/8.12.9) with ESMTP id h6LFIagZ021160 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 21 Jul 2003 11:18:37 -0400 (EDT) Received: from force.stwing.upenn.edu (wlovas@[127.0.0.1]) by force.stwing.upenn.edu (8.12.9/8.12.9) with ESMTP id h6LFIZ4Q023767 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 21 Jul 2003 11:18:36 -0400 (EDT) Received: (from wlovas@localhost) by force.stwing.upenn.edu (8.12.9/8.12.9/Submit) id h6LFIZgo023761 for caml-list@inria.fr; Mon, 21 Jul 2003 11:18:35 -0400 (EDT) Date: Mon, 21 Jul 2003 11:18:35 -0400 From: William Lovas To: caml-list@inria.fr Subject: Re: [Caml-list] Roadplan for world domination (or constructive criticism of ocaml facilities) Message-ID: <20030721151833.GA22324@force.stwing.upenn.edu> Mail-Followup-To: caml-list@inria.fr References: <20030718212114.GA31599@pyramid.twistedmatrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030718212114.GA31599@pyramid.twistedmatrix.com> User-Agent: Mutt/1.5.4i X-Loop: caml-list@inria.fr X-Spam: no; 0.00; lovas:01 wlovas:01 stwing:01 caml-list:01 criticism:01 ocamlmake:01 sigh:01 vastly:01 incompatible:01 ld':99 compiler's:01 compiler:01 chris:01 standardized:01 ocaml:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Fri, Jul 18, 2003 at 04:21:14PM -0500, Chris Clearwater wrote: > 3) Now that we have a easy cross-platform way to compile ocaml applications we > can just distibute our code with Makefiles that call ocamlmake! WRONG. > Makefiles suck. Now we standardize on the idea of an Ocaml "package". > [...] I have to disagree with you on this idea. I've been working recently on a project written in SML, and one of the things i miss most about O'Caml is its nice interaction with the standard tools (not to mention its separate compilation strategy! *sigh*). The one thing not standardized by the Standard ML definition is compilation strategy, and as a result, every SML implementation has its own idea of the "right" way to compile a project. One can write standards-conformant code and still have to write a bunch of specific build-scripts, each one in its own arcane language, and quite possibly each one adhering to a vastly different *philosophy* of compilation -- learning them all may well be a lifetime's work. In my humble opinion, this is a major fault of SML. As a concrete example, SML/NJ has a built-in "Compilation Manager" module, and to compile a project, you have start up a top-level and run the `CM.make' function. It was quite a shock to me not to be able to compile something from the command line, coming from the O'Caml world, where the compiler is mature, simple, and idiomatic (at least from a Unix user's perspective). For O'Caml to come up with its own incompatible compilation philosophy seems like a step backwards. We *already have* nice, simple ways of interacting with the standard tools (like `make', and `ld') -- throwing all that away smacks of "not-invented-here" syndrome. It may be tempting to climb up into our ivory tower and say, "We can do better than the status quo!", but i think that attitude is better reserved for improving and extending the language itself. If you want a better `make', then write a better `make' -- but keep it general purpose, and keep the O'Caml compiler's interface simple enough to interact with *either* `make'. cheers, William ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners