This is a library that uses the other 3d-* math libraries to present an encapsulation for a spatial transformation. It offers convenience functions for operating on such transformations and for converting between them and the alternative 4x4 matrix representation.
The Babel library solves a similar problem while understanding more encodings. Trivial UTF-8 was written before Babel existed, but for new projects you might be better off going with Babel. The one plus that Trivial UTF-8 has is that it doesn't depend on any other libraries.
Flexi-streams is an implementation of "virtual" bivalent streams that can be layered atop real binary or bivalent streams and that can be used to read and write character data in various single- or multi-octet encodings which can be changed on the fly. It also supplies in-memory binary streams which are similar to string streams.
This package provides a priority queue implemented with an array-based heap.
This is a Common Lisp library to present tabular data in ascii-art tables.
Portability library for IEEE float features that are not covered by the Common Lisp standard.
This is a small library providing the ISO-639 language code to language name mapping.
Stefil is a simple test framework for Common Lisp, with a focus on interactive development.
This library can be used to print the licenses used by a Common Lisp project and its dependencies.
This package implements an algorithm for the spelling of enharmonics and dealing with ties and dots in rhythm notation.
This library allows you to define custom indentation hints for your macros if the one recognised by SLIME automatically produces unwanted results.
This package defines a Common Lisp package, :elements
, with an ELEMENT
structure and a number of functions to search the periodic table.
This package provides an enhanced version of typep
that is exactly like the one in the Lisp spec, except it can also accept a single type argument, in which case it returns the appropriate closure.
The Type-Templates library allows you to define types and “template functions” that can be expanded into various type-specialized versions to eliminate runtime dispatch overhead. It was specifically designed to implement low-level numerical data types and functionality.
This system implements binding threading macros -- a kind of threading macros with different semantics than classical, Clojure core threading macros or their extension, swiss-arrows. Two Common Lisp implementations of those are arrows
and arrow-macros
.
This system is a fork of arrows
with changes in semantics that make it impossible to merge back upstream.
This is a library for quaternions. It contains most of the quaternion operations one would usually expect out of such a library and offers them both in non-modifying and modifying versions where applicable. It also tries to be efficient where plausible. Each quaternion is made up of float
s, which by default are single-float
s, as they do not require value boxing on most modern systems and compilers.
This package provides a Common Lisp assertion system with minimal dependencies on DISSECT.
cl-alexandria-plus
is a conservative set of extensions to cl-alexandria
utilities.
DEFPACKAGE-PLUS
is an extensible DEFPACKAGE
variant with predictable cross-platform behavior and some utilities useful for versioning.
The main purpose of this n+2nd reimplementation of quasiquote is enable matching of quasiquoted patterns, using Optima or Trivia.
trivial-garbage
provides a portable API to finalizers, weak hash-tables and weak pointers on all major implementations of the Common Lisp programming language.
This project is intended as a catchall for small, general-purpose extensions to Common Lisp. It contains:
new-let
, a macro that combines and generalizeslet
,let*
andmultiple-value-bind
,gmap
, an iteration macro that generalizesmap
.
The py-configparser package implements the ConfigParser Python module functionality in Common Lisp. In short, it implements reading and writing of .INI-file style configuration files with sections containing key/value pairs of configuration options. In line with the functionalities in the python module, does this package implement basic interpolation of option values in other options.
This package provides a canonical way of converting generalized booleans to booleans.