Alexandria is a collection of portable public domain utilities that meet the following constraints: * Utilities, not extensions: Alexandria will not contain conceptual extensions to Common Lisp, instead limiting itself to tools and utilities that fit well within the framework of standard ANSI Common Lisp. Test-frameworks, system definitions, logging facilities, serialization layers, etc. are all outside the scope of Alexandria as a library, though well within the scope of Alexandria as a project. * Conservative: Alexandria limits itself to what project members consider conservative utilities. Alexandria does not and will not include anaphoric constructs, loop-like binding macros, etc. * Portable: Alexandria limits itself to portable parts of Common Lisp. Even apparently conservative and useful functions remain outside the scope of Alexandria if they cannot be implemented portably. Portability is here defined as portable within a conforming implementation: implementation bugs are not considered portability issues. Homepage: http://common-lisp.net/project/alexandria/ Mailing lists: http://lists.common-lisp.net/mailman/listinfo/alexandria-devel http://lists.common-lisp.net/mailman/listinfo/alexandria-cvs Repository: git://gitlab.common-lisp.net/alexandria/alexandria.git Documentation: http://common-lisp.net/project/alexandria/draft/alexandria.html (To build docs locally: cd doc && make html pdf info) Patches: Patches are always welcome! Please prepare pull requests in gitlab, though we also can pull branches off github. Patches should include a commit message that explains what's being done and /why/, and when fixing a bug or adding a feature you should also include a test-case. Versioning & Changes: Be advised that the ALEXANDRIA-1 package is frozen; there are so many existing users that any newly exported symbols are likely to break someone's code. For that reason an ALEXANDRIA-2 package is now open for additions; to make switching over easier it will include all the symbols from ALEXANDRIA-1 as well [just change your (:USE ALEXANDRIA) to (:USE ALEXANDRIA-2) to get the new functions in your package]. Alexandria will be running 1.x version numbers until ALEXANDRIA-2 is frozen as well; then a 2.0.0 will be released.