Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] [ANNOUNCE] Development versions: ocamlconf, ASPCC
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Issac Trotts <ijtrotts@u...>
Subject: Re: [Caml-list] [ANNOUNCE] Development versions: ocamlconf, ASPCC
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