[plt-dev] a common collection for utility modules
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!