I think Alexandria is soon ready to move to next stage:
dropping the things that we cannot agree on.
My TODO list before that includes just a few cleanups
and documentation tweak (that can be probably best
done in parallel with the dropping), and adding three
more functions: MAP-COMBINATIONS, -PERMUTATIONS,
and -DERANGEMENTS, which I'll merge as soon as I
find my MAP-DERANGEMENTS (missing in action, but I
know I have it.)
Does anyone else think there is something significant
missing?
After we feel that we're as complete as we're likely
to get in short order, I propose the following work
order:
1. Hash over everything we have, one-by-one:
* Vetos, dropping the things we don't agree on
or are feeling unsure about. (Eg. I'm not sure
the statistical stuff belongs in Alexandria:
is it "good enough" for real statistical work?
If not, then we should drop it because people
really needing it will just need to shadow it,
and others don't care.)
* Checking that the documentation is complete
enough.
* Checking that the tests are complete enough.
* Checking that the API is Common Lispy enough:
:START & :END arguments, etc.
* Checking that the API is future-proof enough:
not grabbing names that might better serve other
purposes, not using &OPTIONAL arguments if we
may end up wanting to later add &KEY arguments,
etc.
* Checking that we're not defining something that
should be a generic function as function.
* Checking that functions have their "obvious"
companion functions: REMOVE-FOO, REMOVE-FOO-IF,
REMOVE-FOO-IF-NOT, DELETE-FOO, etc.
* Fixing as necessary.
...this is going to take a fair while, so the
sooner we get to it the better -- but similarly
it doesn't make a real difference if we start
a week or few later then sooner.
2. Make the nickname ALEXANDRIA conditional on there
not being an ALEXANDRIA.X[.Y] with X greater then
1.
3. Wrap it up as ALEXANDRIA.1.BETA.1, and put it up
for public review (month or two.)
If there are comments, attend to them and repeat
the beta cycle
5. Rename it as ALEXANDRIA.1, and rest on our laurels.
I futher propose that the stuff we drop goes in BABEL
package, which is doesn't make any guarantees about
anything -- just a grab-bag of stuff that doesn't fit
in Alexandria, and doesn't (yet) have an obvious home
elsewhere.
Cheers,
-- Nikodemus