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.
This package provides an enhanced EVAL-WHEN
macro that supports a shorthand for (eval-when (:compile-toplevel :load-toplevel :execute) ...)
, addressing concerns about verbosity.
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.
This library enables path variables in networking routes when using Hunchenissr for Common Lisp. If a part of the path (between two slashes) starts with a question mark (?), that symbol (without question mark) will be bound to whatever value was in the same place in the URL (as a string).
Filtered functions provide an extension of CLOS generic function invocation that add a simple preprocessing step before the actual method dispatch is performed and thus enable the use of arbitrary predicates for selecting and applying methods. See http://www.p-cos.net/documents/filtered-dispatch.pdf for a paper that introduces and explains filtered functions in detail.
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 library lets you build a metaclass which in turn lets you specify extra slot options in its classes. Options may be easily inspected and custom inheritance may be set up. The Meta-Object Protocol (MOP) is used for the implementation - through closer-mop
. Some convenience function for processing slot options are also available.
Possible use case: you want to automatically set up some definitions based on some slots, but you want to have control over it right in the class definition.
Keyboard layout switcher for StumpWM
This package provides a canonical way of converting class designators to classes.
This package provides an implementation of the Matrix API for Common Lisp.
definitions-systems
provides a simple unified extensible way of processing named definitions.
This module provides a winner-mode for StumpWM similar to the one in Emacs.
This is a small library to help you with managing the Common Lisp docstrings for your library.
This is a Common Lisp library for simplifying packaging and loading of compiled foreign library collection.
CL-HTTPS-EVERYWHERE parses HTTPS Everywhere rulesets and makes them available for use in Lisp programs.
This library is a redefinition of the standard Common Lisp package that includes a number of renames and shadows.
This is a Common Lisp kernel for Jupyter along with a library for building Jupyter kernels, based on Maxima-Jupyter which was based on cl-jupyter
.
An implementation of the exponential backoff algorithm in Common Lisp. Inspired by the implementation found in Chromium. Read the header file to learn about each of the parameters.
cl-numerical-utilities
is a collection of packages useful in numerical applications, each big enough to be its own package, but too small to split out into a separate ASDF system.
This package provides a Common Lisp system which wraps the BORDEAUX-THREADS system to be able to run things in the main thread of the implementation, for example drawing calls of GUI applications.