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 UAA07552; Wed, 3 Mar 2004 20:54:08 +0100 (MET) 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 UAA07123 for ; Wed, 3 Mar 2004 20:54:07 +0100 (MET) Received: from pop19.ucdavis.edu (pop19.ucdavis.edu [169.237.105.29]) by nez-perce.inria.fr (8.12.10/8.12.10) with ESMTP id i23JsGIq014978 for ; Wed, 3 Mar 2004 20:54:17 +0100 Received: from manzanita ([128.120.141.214]) by pop19.ucdavis.edu (8.12.10/8.12.9/it-std-5.2.0) with SMTP id i23Js3ox021363 for ; Wed, 3 Mar 2004 11:54:04 -0800 (PST) Received: by manzanita (sSMTP sendmail emulation); Wed, 3 Mar 2004 11:53:53 -0800 From: "Issac Trotts" Date: Wed, 3 Mar 2004 11:53:53 -0800 To: caml-list@inria.fr Subject: Re: [Caml-list] [ANNOUNCE] Development versions: ocamlconf, ASPCC Message-ID: <20040303195326.GA991@manzanita> Mail-Followup-To: ijtrotts@ucdavis.edu, caml-list@inria.fr References: <20040303051611.GA1204@manzanita> <20040303062539.GA27167@tallman.kefka.frap.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040303062539.GA27167@tallman.kefka.frap.net> User-Agent: Mutt/1.5.4i X-Miltered: at nez-perce by Joe's j-chkmail ("http://j-chkmail.ensmp.fr")! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; issac:01 trotts:01 ijtrotts:01 caml-list:01 2004:99 knowles:99 asts:01 diffing:01 camlp:01 infile:01 gui:01 outfile:01 outputs:01 outputs:01 python's:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk X-Keywords: X-UID: 37 On Tue, Mar 02, 2004 at 10:25:39PM -0800, Kenneth Knowles wrote: > > > There is no Debian package for this, > > though it looks like a useful program. > > >From the DARCS webpage: > ---------------------- > > Debian users > > If you use debian, you can install darcs via apt. For woody, add the following > lines to your sources.list: ... Thanks! > > I wonder if Darcs could be modified to explicitly keep track of changes > > to the ASTs of OCaml source files... > > Now this sounds interesting! Someone very ambitious could invent a source > control item with plugins for parsing different languages, and diffing the > trees. It could be done with a bit less ambition: let ast = parse_with_camlp4 infile in let ast_diffs = edit_ast_with_gui ast in output_diffs outfile ast_diffs That way the user has explicit control over the differences, as with the Token Replace Patch idea at http://abridgegame.org/darcs/manual/node7.html#token_replace > > Could it output an OCaml script instead of a makefile? It would > > probably be easier to read, debug, and modify. > > I phrased this badly. What you want, is what it does, I think. I should have > said that it "outputs a configure script, which when run outputs a makefile and > config.ml" That's good but I would prefer to use OCaml and avoid makefiles altogether, similar to how Python's distutils just uses Python. Then we could have more sophisticated build rules with fixed points etc. (as John Max Skaller described in a post a while back.) > I will quickly explain all of what it does. > > (1) You write configure.ml, somewhat analogous to configure.ac > (2) You run ocamlconf, it creates a configure script > ---- > (3) The end user/you run the configure script - it outputs a makefile and/or > configuration summary ocaml file. > (4) make && make install > > Every stage is easy to debug - your configure.ml script is a simple ocaml > script. The configure script (actually configure.mlc, for technical reasons, > and the configure script is a shell wrapper around `ocaml configure.mlc`) is > also plain text ocaml, but with additional code copied into it. And even the > makefile is about as simple as possible for your project, so hopefully bugs in > ocamlconf will easily be discovered. -- Issac Trotts http://redwood.ucdavis.edu/~issac ------------------- 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