caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Issac Trotts" <ijtrotts@ucdavis.edu>
To: caml-list@inria.fr
Subject: Re: [Caml-list] [ANNOUNCE] Development versions: ocamlconf, ASPCC
Date: Wed, 3 Mar 2004 11:53:53 -0800	[thread overview]
Message-ID: <20040303195326.GA991@manzanita> (raw)
In-Reply-To: <20040303062539.GA27167@tallman.kefka.frap.net>

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


  reply	other threads:[~2004-03-03 19:54 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-03  1:47 Kenneth Knowles
2004-03-03  5:16 ` Issac Trotts
2004-03-03  6:25   ` Kenneth Knowles
2004-03-03 19:53     ` Issac Trotts [this message]
2004-03-03 23:06       ` Kenneth Knowles
2004-03-03 19:56     ` David MENTRE
2004-03-03 20:29       ` Issac Trotts
2004-03-03 22:36         ` Kenneth Knowles
2004-03-11 11:09 ` Markus Mottl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040303195326.GA991@manzanita \
    --to=ijtrotts@ucdavis.edu \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).