caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Mike Furr <furr@cs.umd.edu>
To: caml-list List <caml-list@inria.fr>
Subject: Re: Cherry-picking modules (was Re: [Caml-list] [ANN] OCaml Reins 0.1	- Persistent Data Structure Library)
Date: Wed, 26 Sep 2007 14:45:58 -0400	[thread overview]
Message-ID: <46FAA8E6.3090501@cs.umd.edu> (raw)
In-Reply-To: <E9D2CEC7-978F-4058-92D4-7CB432A0C048@epfl.ch>

Daniel Bünzli wrote:
>> But you should start by raising the bar for re-use, not lowering it.
> 
> I don't know how I should interpret this (I don't understand the meaning).

I only meant that we should strive to use the "right" solution, even if
that means a little more work for the time being since it will hopefully
improve things in the long run.

> For me the bar is too high for sharing. We need more lightweight ways of
> doing so, let the real bazar be and eventually good components will be
> selected. Maybe if there had been a convenient, agreed bupon,
> module-based, *localized* (in the sense not system wide) and distributed
> package system you wouldn't be the the xth person to implement avl
> trees. For example go look into Camomile there's an implementation there.

Its hard for me to conceptualize how such a distributed system would
work and so I can't really comment if it would in fact be a better
system.  However, one problem I wanted to tackle was that while I would
be the xth person to implement avl trees, there will be NO x+1th person.
   Reins is one (possible) solution to that.

> But I agree with you tight coupling can also be beneficial, it's a
> trade-off. However maybe (I don't know) reins could have been split
> w.r.t to the different kind of semantic data structure (set, list, map).
> It depends on the deal of code sharing that actually occurs between
> them. The unit tests could have been done as a separate project that
> requires these smaller packages. etc. 

Currently, the unit tests are just part of the build and are not
installed.  However, since they are parameterized, perhaps I should
distribute them as a second (optional) library so that anyone who
implements a data structure which matches the signatures there can use
them too.  Thanks for the idea.

> I strongly believe that smaller
> components are more manageable in the long term. Because whenever they
> break or become orphaned it becomes easier for third-parties to
> understand them and maintain them alive.

As a counter point, smaller components may mean that fewer people are
interested in each component and thus are more likely to become orphaned
as individuals than as part of a larger collection.  I think your idea
is interesting, but I haven't seen any anecdotal evidence of it actually
being better than the "cathedral" approach.  Pointers/references to such
things would be welcome.

> But hey, I don't want to look like I'm grumling about reins, it sure
> looks great and usefull. So I think I better stop this discussion here.

I don't think you are, and in fact, as library designer/maintainer its
great to get feedback on how people feel about the current status quo of
library management.  If someone were to build such a distributed
localized module collection, I would love to see the code from reins in
there.  In the time being, I think the cathedral approach should work
quite well.

Thanks for the dialogue... and now back to hacking.

-m


  reply	other threads:[~2007-09-26 18:45 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
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 [this message]
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=46FAA8E6.3090501@cs.umd.edu \
    --to=furr@cs.umd.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).