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.
This library implements efficient algorithms that calculate various string metrics in Common Lisp:
Damerau-Levenshtein distance
Hamming distance
Jaccard similarity coefficient
Jaro distance
Jaro-Winkler distance
Levenshtein distance
Normalized Damerau-Levenshtein distance
Normalized Levenshtein distance
Overlap coefficient
This package provides a concise, intuitive and flexible macro for trivial lambdas that eschews explicit naming of parameter variables in favor of positional references, with support for a used or ignored &rest parameter and automatic declaration of ignored parameters when logical gaps
are left in the positional references. Further convenience features are provided.
Command-Line-Args provides a main macro (command
) that wraps a defun
form and creates a new function that parses the command line arguments. It has support for command-line options, positional, and variadic arguments. It also generates a basic help message. The interface is meant to be easy and non-intrusive.
This is a library for reading semi-raw user input from terminals. Semi-raw as in, we can't detect if the user pressed the Control
key alone, and the function keys are a mystery. What is supported, however, is:
Regular characters
Control+[key]
Alt+[key]
Control+Alt+[key]
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.
One of the many things that didn't quite get into the Common Lisp standard was how to get a Lisp to output its call stack when something has gone wrong. As such, each Lisp has developed its own notion of what to display, how to display it, and what sort of arguments can be used to customize it. trivial-backtrace
is a simple solution to generating a backtrace portably.
The canonical way to determine the size of a file in bytes, using Common Lisp, is to open the file with an element type of (unsigned-byte 8) and then calculate the length of the stream. This is less than ideal. In most cases it is better to get the size of the file from its metadata, using a system call.
This library exports a single function, file-size-in-octets. It returns the size of a file in bytes, using system calls when possible.
Converts Markdown text into CommonDoc nodes and vice versa.
This package allows flexible specification of package-local preferences.
This package provides a simple yet powerful value inheritance scheme.
This is a Common Lisp library for solving linear programming problems.
This StumpWM module can take screenshots and store them as PNG files.
Provides a class for being used instead of asdf:package-inferred-system.
This package provides a shim between Python3 (specifically, the CPython implementation of Python) and Common Lisp.
This package provides a functionality augmenting Hunchentoot error pages and logs with request and session information.
This library contains a collection of machine learning algorithms for online linear classification written in Common Lisp.
PARSER-COMBINATORS is a library implementing monadic parser combinators in Common Lisp, similar in concept to Haskell Parsec system.
VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice, Levenshtein, and normalized Levenshtein string distance/similarity metrics algorithms.
Common Lisp implementation of Graham Cormode and S. Muthukrishnan's Effective Computation of Biased Quantiles over Data Streams in ICDE’05.
Temporal-Functions adds tlambda & tdefun along with a small collection of related funcs and macros. tlambda is a lambda with an internal concept of time.
CL-DATA-STRUCTURES is a Common Lisp library providing a portable collection of mutable and immutable data structures (dictionaries, sets, queues, sequences) and algorithms.