caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: David Teller <David.Teller@univ-orleans.fr>
To: Romain Bardou <Romain.Bardou@lri.fr>
Cc: OCaml List <caml-list@yquem.inria.fr>
Subject: Re: ocamlbuild documentation (was Re: [Caml-list] Re: [ANN] OCaml Batteries Included, alpha 3)
Date: Mon, 09 Feb 2009 19:38:09 +0100	[thread overview]
Message-ID: <1234204689.6659.29.camel@Blefuscu> (raw)
In-Reply-To: <49902E11.2010101@lri.fr>

(Here's hoping that this thread doesn't degenerate into a slugfest)

I have used OCamlBuild a lot. I can confirm that this is great software.
Unfortunately, I can also confirm that, to do anything besides compiling
trivial projects, the Wiki proved extremely elusive at best. My best
source of information (besides bugging ertai on IRC :)) was to dig in
the mostly uncommented source code of OCamlBuild, without being certain
of what was supposed to be public, what was supposed to be known by
users, etc.

Now, what needs to be written? That's hard to summarize in one sentence,
and that's probably why people tend not to contribute to the Wiki once
they have found what they need. My personal take would be the following:

* take the current official OCamlBuild manual and turn it into chapter 1
of "the OCamlBuild handbook"

* write a complete and detailed step-by-step tutorial on writing a _tags
file for a simple project, with an appendix detailing all the existing
available tags (including the commonly used tags which I believe are
automatically generated, such as [pack(...)] ) -- and please write that
tutorial for a newbie, not for me

* progressively complete that tutorial to add all sorts of
not-that-trivial cases such as using OCamlFind, then  building a library
which is going to be used by the rest of the build process, then
building a syntax extension which is going to be used by the rest of the
build process, ... (all sorts of things which are already on the Wiki,
just with more structure and more details)

* progressively complete further that tutorial to add quite complex
cases such as integrating things which are not OCaml at all, including C
code, LaTeX documentation compiled to both pdf and html, generation
of .ml/.mli files during compilation (we have an example of this kind of
thing in  Batteries, where we have to generate .mli from .mlpack to
allow ocamldoc to work on .mlpack files), etc. (some of this is on the
Wiki already, but needs more structure and more details)

* write a complete and detailed step-by-step tutorial on converting an
existing project based on a relatively complex Makefile to _tags and
myocamlbuild.ml

* add at least the first chapter (preferably everything) to the OCaml
manual

* ask a user who has used OCamlBuild for trivial projects (preferably
one who sits in an office close to that of either Romain Bardou or
Nicolas Pouillard) to comment the source code (first the .mli and
the .ml)

* be available to answer the questions of that user  :)

Just my two cents.

Cheers,
 David

P.S.: And if there's no room for this kind of tutorial in the OCaml
documentation, we'll be glad to have it into OCaml Batteries Included :)

On Mon, 2009-02-09 at 14:22 +0100, Romain Bardou wrote:
> Well I would disagree and say that the bare minimum is here. This is why 
> I stopped contributing to the wiki: I had nothing else interesting to 
> add. So now I ask: what exactly is missing from this bare minimum? In my 
> opinion, questions such as "can I use the flag function inside the rule 
> function" are definitely not part of the bare minimum.
> 
> (btw, the answer is: the use of the flag function inside the rule 
> function is not specified, thus not documented)
> 
-- 
David Teller-Rajchenbach
 Security of Distributed Systems
  http://www.univ-orleans.fr/lifo/Members/David.Teller
   « Ce matin Un crétin A tué un chercheur. » (air connu)
   Latest News of French Research: System being liquidated. Researchers angry.


  parent reply	other threads:[~2009-02-09 18:37 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-06 16:11 [ANN] OCaml Batteries Included, alpha 3 David Rajchenbach-Teller
2009-02-07 14:21 ` [Caml-list] " Mikkel Fahnøe Jørgensen
2009-02-07 14:43   ` Sylvain Le Gall
2009-02-07 14:58     ` [Caml-list] " Jon Harrop
2009-02-07 15:13       ` Sylvain Le Gall
2009-02-07 16:13         ` [Caml-list] " Matthieu Dubuget
2009-02-07 19:30           ` David Rajchenbach-Teller
2009-02-07 21:13             ` Matthieu Dubuget
2009-02-09  9:36           ` Romain Bardou
2009-02-09 15:56             ` David Teller
2009-02-07 15:46       ` Paolo Donadeo
2009-02-09  9:32       ` Romain Bardou
2009-02-09 10:30         ` ocamlbuild documentation (was Re: [Caml-list] Re: [ANN] OCaml Batteries Included, alpha 3) Daniel Bünzli
2009-02-09 11:51           ` Romain Bardou
2009-02-09 12:30             ` Daniel Bünzli
2009-02-09 12:52               ` Romain Bardou
2009-02-09 13:07                 ` Daniel Bünzli
2009-02-09 13:22                   ` Romain Bardou
2009-02-09 13:36                     ` Daniel Bünzli
2009-02-09 13:59                       ` Romain Bardou
2009-02-09 14:04                         ` Romain Bardou
2009-02-09 14:37                           ` Daniel Bünzli
2009-02-09 17:26                             ` Kuba Ober
2009-02-09 18:28                         ` Jon Harrop
2009-02-09 21:24                           ` DooMeeR
2009-02-10 14:06                             ` ocamlbuild documentation Jan Kybic
2009-02-10 14:27                               ` [Caml-list] " Matthieu Dubuget
     [not found]                                 ` <87k57ywc0k.fsf@fel.cvut.cz>
2009-02-10 15:50                                   ` Matthieu Dubuget
2009-02-10 15:58                                     ` Daniel Bünzli
2009-02-09 18:38                     ` David Teller [this message]
2009-02-09 22:02         ` [Caml-list] Re: [ANN] OCaml Batteries Included, alpha 3 Peter Hawkins
2009-02-09 22:45           ` Mikkel Fahnøe Jørgensen
2009-02-09 22:55             ` Mikkel Fahnøe Jørgensen
2009-02-10  7:48             ` Stefano Zacchiroli
2009-02-10 13:22               ` Mikkel Fahnøe Jørgensen
2009-02-07 20:04     ` Daniel Bünzli
2009-02-08 17:22   ` [Caml-list] " Richard Jones
2009-02-09  8:57     ` David Allsopp

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=1234204689.6659.29.camel@Blefuscu \
    --to=david.teller@univ-orleans.fr \
    --cc=Romain.Bardou@lri.fr \
    --cc=caml-list@yquem.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).