From: "Daniel Bünzli" <daniel.buenzli@epfl.ch>
To: Sylvain Le Gall <sylvain@le-gall.net>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] Re: Cherry-picking modules (was Re: [ANN] OCaml Reins 0.1 - Persistent Data Structure Library)
Date: Wed, 26 Sep 2007 14:22:19 +0200 [thread overview]
Message-ID: <45E37235-E843-4A27-95FF-88C41E5A3DCC@epfl.ch> (raw)
In-Reply-To: <slrnffkcu3.3nv.sylvain@gallu.homelinux.org>
Le 26 sept. 07 à 12:26, Sylvain Le Gall a écrit :
> ** you make a bug correction in libA, as many developers you don't
> have
> time to submit bug upstream -> libA upstream and libA embedded
> begin to
> be different
I agree this is a problem. But realisticaly if you only bug fix,
interfaces usually do not change. Hence upstream and local don't
really drift away. You should be able to take a new version of libA
and plug it right away.
> * libA is not embedded inside progB:
> ** libA do a minor bug correction -> progB just need to be recompiled
> (no release), easy to do automatically with a dependency tracking
I disagree, the new version of libA may break invariants progB was
relying on. If progB wants to use the new library it should be an
explicit choice of progB's programmer.
> The only real needs is to have something that automatically
> download/build/install dependency! AND WE HAVE IT: godi!
The problem for me is that godi is both locally and remotly
centralized. Actually what I want is a little godi that I manage
myself for each of my projects. Let's be clear I actually also think
that direct source integration is not the best idea, but currently it
is what makes my life the simplest. I wouldn't mind not *directly*
integrate the sources but instead pointers to module downloads if
that allows me to easely regenerate/upgrade the modules.
In some sense I want my projects to be -- modulo automatic downloads
of modules -- without free variables, self-contained, they should be
self-describing. The only untold prerequisite should be the ocaml dev
tools (and even...). The rest should be taken care of automatically.
I think that a tandem ocamlbuild/caml-get could go much more in that
direction, especially because, compared to godi, it would make the
system much more distributed.
> Off course, as long as you will think that you must embed
> everything, you
> won't need to learn godi (which is very simple) and you won't
> evolve on
> this point.
Well I used at some point. But for some reason -- I don't remember
exactly -- it was getting too much in my way and I stopped using it.
Anyway even if you use godi I think that there are many advantages to
make libraries smaller and push them toward atomic modules: they
reveal the real dependencies, they are easier to maintain and it may
be easier to find new maintainers for orphaned modules. A developer
may find it an achievable task to maintain a single module he is
interested in but may shun in front of a cathedral-like library.
Best,
Daniel
next prev parent reply other threads:[~2007-09-26 12:22 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-25 18:53 [ANN] OCaml Reins 0.1 - Persistent Data Structure Library Mike Furr
2007-09-25 19:14 ` [Caml-list] " Daniel Bünzli
2007-09-25 19:30 ` Mike Furr
2007-09-25 22:16 ` Cherry-picking modules (was Re: [Caml-list] [ANN] OCaml Reins 0.1 - Persistent Data Structure Library) Daniel Bünzli
2007-09-25 23:33 ` Cherry-picking modules (was " Sylvain Le Gall
2007-09-26 6:41 ` [Caml-list] " skaller
2007-09-26 7:22 ` Daniel Bünzli
2007-09-26 8:19 ` skaller
2007-09-26 8:30 ` Daniel Bünzli
2007-09-26 8:58 ` skaller
2007-09-26 9:49 ` Daniel Bünzli
2007-09-26 10:26 ` Sylvain Le Gall
2007-09-26 11:45 ` [Caml-list] " Jim Miller
2007-09-26 12:37 ` Sylvain Le Gall
2007-09-27 10:11 ` [Caml-list] " Richard Jones
2007-09-26 12:22 ` Daniel Bünzli [this message]
2007-09-26 12:58 ` skaller
2007-09-26 16:47 ` Sylvain Le Gall
2007-09-26 22:38 ` [Caml-list] " Vincent Aravantinos
2007-09-26 22:41 ` Vincent Aravantinos
2007-09-26 6:19 ` Cherry-picking modules (was Re: [Caml-list] " skaller
2007-09-26 15:08 ` Michael Furr
2007-09-26 17:12 ` skaller
2007-09-26 17:53 ` Mike Furr
2007-09-26 19:16 ` skaller
2007-10-05 14:42 ` Adrien
2007-10-05 14:58 ` Cherry-picking modules (was Re: [Caml-list] [ANN] OCaml Reins 0.1- " Christoph Bauer
2007-10-05 15:21 ` Adrien
2007-10-05 19:45 ` Cherry-picking modules (was Re: [Caml-list] [ANN] OCaml Reins0.1- " David Allsopp
2007-10-05 3:48 ` Cherry-picking modules (was Re: [Caml-list] [ANN] OCaml Reins 0.1 - " Nathaniel Gray
2007-09-26 7:03 ` Maxence Guesdon
2007-09-26 7:44 ` skaller
2007-09-26 8:53 ` Maxence Guesdon
2007-09-26 10:05 ` Daniel Bünzli
2007-09-26 8:17 ` Daniel Bünzli
2007-09-26 15:32 ` Michael Furr
2007-09-26 15:50 ` Vincent Aravantinos
2007-09-26 16:42 ` Cherry-picking modules (was " Sylvain Le Gall
2007-09-26 17:38 ` [Caml-list] " skaller
2007-09-26 17:57 ` Vincent Aravantinos
2007-09-26 17:22 ` Cherry-picking modules (was Re: [Caml-list] " skaller
2007-09-26 18:17 ` Daniel Bünzli
2007-09-26 18:45 ` Mike Furr
2007-09-26 19:21 ` skaller
2007-09-26 5:51 ` ExtLib, etc. " David Teller
2007-09-26 20:37 ` [Caml-list] [ANN] OCaml Reins 0.1 - Persistent Data Structure Library Mike Furr
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=45E37235-E843-4A27-95FF-88C41E5A3DCC@epfl.ch \
--to=daniel.buenzli@epfl.ch \
--cc=caml-list@inria.fr \
--cc=sylvain@le-gall.net \
/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