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