/alexandria

Mirror of the Alexandria Common Lisp utility library.

Primary LanguageCommon LispOtherNOASSERTION

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.