This is a system presenting a protocol for "file systems": things that present a collection of "files," which are things that have several attributes, and a central data payload. Most notably this includes the OS filesystem, but can also be used to address other filesystem-like things like archives, object stores, etc. in the same manner.
This project was originally called cl-test-more
. prove
is yet another unit testing framework for Common Lisp. The advantages of prove
are:
Various simple functions for testing and informative error messages
ASDF integration
Extensible test reporters
Colorizes the report if it's available (note for SLIME)
Reports test durations
Antik provides a foundation for scientific and engineering computation in Common Lisp. It is designed not only to facilitate numerical computations, but to permit the use of numerical computation libraries and the interchange of data and procedures, whether foreign (non-Lisp) or Lisp libraries. It is named after the Antikythera mechanism, one of the oldest examples of a scientific computer known.
Zippy is a library for the PKWARE Zip archive format. It can read and write zip files. It features:
archive inspection without extraction;
Zip64 support;
split archive support;
PKWARE decryption;
fast deflate decompression thanks to 3bz;
operates on streams and vectors;
can compress stream->stream;
extensible for other encryption and compression mechanisms.
Plump is a parser for HTML/XML-like documents, focusing on being lenient towards invalid markup. It can handle things like invalid attributes, bad closing tag order, unencoded entities, inexistent tag types, self-closing tags and so on. It parses documents to a class representation and offers a small set of DOM functions to manipulate it. It can be extended to parse to your own classes.
This is a utility kit for functionality related to OpenGL. It provides the following:
kit.glm
: This re-exportssb-cga
andmathkit
for convenience.kit.gl.shader
: This provides shader dictionary and compilation functionality similar to what was originally found insdl2kit
.kit.gl.vao
: This provides an interface for Vertex Array Objects.
UCONS is a Common Lisp library providing unique conses. Unique conses are different from regular conses in that, in addition to their car
and cdr
, they maintain a table of past users. Also, the cdr
of each ucons is restricted to other uconses or nil
. Uconses are meant for those situations where even reusing regular conses (to avoid consing) is too computationally expensive.
Clamp is an attempt to bring the powerful, but verbose, language of Common Lisp up to the terseness of Arc.
There are two parts to Clamp. There is the core of Clamp, which implements the utilities of Arc that are easily converted from Arc to Common Lisp. The other part is the "experimental" part. It contains features of Arc that are not so easy to copy (ssyntax, argument destructuring, etc.).
NASDF is an ASDF extension providing utilities to ease system setup, testing and installation.
Simple way to fetch Git submodules and “do the right thing” for setup. This may effectively supersede Quicklisp. A benefit of using Git submodules over the default Quicklisp distribution is improved reproducibility.
Test helpers, like distinction between offline and online tests, or continuous integration options, and warning reports.
Installation helpers, for instance to install libraries, icons and desktop files to the right directories.
The purpose of this library is to provide a collection of implementations of trees.
In contrast to existing libraries such as cl-containers, it does not impose a particular use for the trees. Instead, it aims for a stratified design, allowing client code to choose between different levels of abstraction.
As a consequence of this policy, low-level interfaces are provided where the concrete representation is exposed, but also high level interfaces where the trees can be used as search trees or as trees that represent sequences of objects.
jsown
is a high performance Common Lisp JSON parser. Its aim is to allow for the fast parsing of JSON objects in Common Lisp. Recently, functions and macros have been added to ease the burden of writing and editing jsown
objects.
jsown
allows you to parse JSON objects quickly to a modifiable Lisp list and write them back. If you only need partial retrieval of objects, jsown
allows you to select the keys which you would like to see parsed. jsown
also has a JSON writer and some helper methods to alter the JSON objects themselves.
Max’s Parser Combinators is a simple and pragmatic library for writing parsers and lexers based on combinatory parsing. MaxPC is capable of parsing deterministic, context-free languages, provides powerful tools for parse tree transformation and error handling, and can operate on sequences and streams. It supports unlimited backtracking, but does not implement Packrat Parsing. Instead, MaxPC achieves good performance through its optimized primitives, and explicit separation of matching and capturing input. In practice, MaxPC parsers perform better on typical computer languages—when compared to Packrat parsers—at the expense of not producing linear-time parsers.
S-XML is a simple XML parser implemented in Common Lisp. This XML parser implementation has the following features:
It works (handling many common XML usages).
It is very small (the core is about 700 lines of code, including comments and whitespace).
It has a core API that is simple, efficient and pure functional, much like that from SSAX (see also http://ssax.sourceforge.net).
It supports different DOM models: an XSML-based one, an LXML-based one and a classic xml-element struct based one.
It is reasonably time and space efficient (internally avoiding garbage generatation as much as possible).
It does support CDATA.
It should support the same character sets as your Common Lisp implementation.
It does support XML name spaces.
This XML parser implementation has the following limitations:
It does not support any special tags (like processing instructions).
It is not validating, even skips DTD's all together.
NJSON aims to make it convenient for one to decode, encode, and process JSON data, in the minimum keystrokes/minutes possible.
NJSON is parser-independent, with existing Common Lisp JSON parsers being loadable as additional system. jzon
is included by default, though. Conveniences that NJSON provides are:
encode
anddecode
as single entry points for JSON reading and writing, be it from streams/string/files, or from those.jget
,jcopy
,jkeys
, and their aliases to manipulate the decoded objects' properties without the need to worry about the low-level details of how these values are decoded.jif
,jwhen
,jor
,jand
, and other macros mimicking Lisp ones, while using truth values of JSON-decoded data.jbind
andjmatch
macros to destructure and validate parsed JSON.njson/aliases
package to nickname toj
for all the forms conveniently accessible asj:get
,j:copy
,j:if
etc.
A client for the Stripe payment API.
This library provides a simple multithreading worker mechanism.
sbcl-clones
is a Common Lisp NES Emulator.
doplus
is an iteration macro for Common Lisp.
This package provides matrix algebra functions for Common Lisp.
RUTILS is a syntactic utilities package for Common Lisp.
RESTAS
is a Common Lisp web application framework.
Ningle is a lightweight web application framework for Common Lisp.
This is a Common Lisp library to enable simple message pipelines.