[plt-dev] a common collection for utility modules

From: Eli Barzilay (eli at barzilay.org)
Date: Fri Nov 6 22:26:52 EST 2009

On Nov  6, Carl Eastlund wrote:
> On Fri, Nov 6, 2009 at 9:53 PM, Eli Barzilay <eli at barzilay.org> wrote:
> > * As a potential user of this, I like this part of your proposal:
> >
> >    Of course, people who make changes to modules in unstable must
> >    fix up any uses within the collections tree.
> >
> >  But as a potential contributor, this makes it more painful than
> >  adding a proper library.
> If you are committed to maintaining it, but want to make it other
> people's job to keep up, promote to a real library.  If you are not
> committed, leave it in unstable.

This should *NOT* be an option.  In fact, I considered adding an item
that this whole thing sounds better if when an unstable library is not
touched in a year, then it must move out (either back where it came
from, or made into a library).  Without this, it is pretty much
guaranteed to be a dumping ground for random bits of code.

> You are obligated to propagate fixes for any changes you make, but
> there is no prohibition against washing your hands of it and walking
> away *without* changing it.  And once something is in unstable,
> anyone can pick it up and take charge if you walk away.

How likely is that to happen?  There are tons of old code that needs
cleaning and updating...

> We already have a bunch of piles of unorganized code.

...why not start with that?  Maybe there are useful bits that you can
turn into more proper library code, even.

> At least this way there's some room for sharing, seeing each other's
> stuff, figuring out who wants what as a library, etc.  And with
> multiple people picking over it, there's more chances for people to
> organize things, weed out dead code, etc.

This is, in general, a very good idea.  I try to at least skim over
code that gets committed, and comment if there's anything that could
be done better, faster, or wheteverer.  A better way to promote this
is to actually read code in random places, and read commit diffs.
(There are certainly few enough of them that it's not too difficult.)

> > * I was curious about having that many "util" files, so I went
> >   over them.  It looks to me like only a small number of them
> >   could have generalizable parts.  (List below, with `-' `+' and
> >   `?', and `?m' for a possible mred utils thing.)
> I'm not sure "generalizable" is the (only) goal here.  Some of these
> things are not exposed or documented, but may be useful to users
> (internal or external) as-is.

I meant that in the sense of "worth turning into a general library",
where in this sentence "geenral" doesn't change anything since library
already has that meaning.

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the dev mailing list.