Table of Contents
About the Project
We generally follow two of the three guiding principles of Alexandria:
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.
Manpower does not permit testing on all Lisp implementations, so we target Genera, SBCL and CCL.
An additional guiding principal is that we only add functionality that is not already available in
alexandria, but required for multiple projects that we work on.
Other utilities libraries include:
- No dependencies
To get a local copy up and running follow these steps:
To make the system accessible to ASDF (a build facility, similar to
make in the C world), clone the repository in a directory it knows about. By default the
common-lisp directory in your home directory is known. Create this if it doesn't already exist and then:
- Clone the repository
cd ~/common-lisp/ && git clone https://github.com/Symbolics/alexandria-plus.git
- Reset the ASDF source-registry to find the new system (from the REPL)
- Load the system
alexandria+ source code is organised the same as the
alexandria source. For example the alist and plist utilities are in
lists.lisp in both
alexandria+. It is intended to be used alongside
(:use :alexandria :alexandria+)
For more examples, please refer to the Documentation.
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated. Please see CONTRIBUTING.md for details on the code of conduct, and the process for submitting pull requests.
Distributed under the MS-PL License. See LICENSE for more information.
Project Link: https://github.com/Symbolics/alexandria-plus