Trivial-features ensures that *FEATURES*
is consistent across multiple Common Lisp implementations.
Named readtables is a library that creates a namespace for named readtables, which is akin to package namespacing in Common Lisp.
This is a Common Lisp library providing a unified way to work with package locks across supported Common Lisp implementations.
This library defines a way of treating Common Lisp packages as conduits which can sit between one or more implementation packages and users of those packages.
This library builds on the venerable idea of dynamically memoizing functions. A memoized function remembers results from previous computations and returns cached results when called again with the same arguments rather than repeating the computation.
This is a simple library to retrieve the argument list of a function.
string-pokemonize
provides a function that alternates uppercase and lowercase characters for a given string.
This package provides a UTF-8 string input stream over a binary stream for Common Lisp.
This library is a Common Lisp port of all the constants from the event codes header file found on Linux and FreeBSD.
This package provides a collection of types, functions and macros. Some of the functionality is implemented from Graham's On Lisp and Seibel's Practical Common Lisp.
This package provides an extensible implementation of defclass that can accurately control the expansion according to the metaclass and automatically detect the suitable metaclass by analyzing the defclass
form.
This library allows creation of hash tables with arbitrary test
/hash
functions, in addition to the test
functions allowed by the standard (EQ
, EQL
, EQUAL
and EQUALP
), even in implementations that don't support this functionality directly.
Trivial-Benchmark runs a block of code many times and outputs some statistical data for it. On SBCL this includes the data from time
, for all other implementations just the real-time
and run-time
data. However, you can extend the system by adding your own metrics
to it, or even by adding additional statistical compute
ations.
This package allows flexible specification of package-local preferences.
VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice, Levenshtein, and normalized Levenshtein string distance/similarity metrics algorithms.
This package provides the getopt
function to parse command-line options. The options are organized in valid options, other arguments and unknown arguments. Optional Lisp conditions for error situations are also defined.
It can sometimes be useful to be able to parse chemical compounds in a user-friendly syntax into easy-to-manipulate s-expressions. You also want to be able to go in reverse. You could probably write your own parser — or you could just install the chemical-compounds package.
Parse-Declarations is a Common Lisp library to help writing macros which establish bindings. To be semantically correct, such macros must take user declarations into account, as these may affect the bindings they establish. Yet the ANSI standard of Common Lisp does not provide any operators to work with declarations in a convenient, high-level way. This library provides such operators.
This package provides a canonical way of converting class designators to classes.
This is a small library to help you with managing the Common Lisp docstrings for your library.
THE-COST-OF-NOTHING is a library for measuring the run time of Common Lisp code. It provides macros and functions for accurate benchmarking and lightweight monitoring. Furthermore, it provides predefined benchmarks to determine the cost of certain actions on a given platform and implementation.
This library is an extension of the Common Lisp Object System (CLOS) that allows a compiler to inline a generic function under certain conditions.
Charje.documentation can used to parse Common Lisp docstrings the charje way, or it can be used to create custom docstring parsers. Docstring parsers are composed using mixin classes and initialization methods.
Gray streams is an interface proposed for inclusion with ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most popular CL implementations implement it. This package provides an extremely thin compatibility layer for gray streams.