Transducers are an ergonomic and extremely memory-efficient way to process a data source. Data source refers to simple collections like lists or vectors, but also potentially large files or generators of infinite data.
Common Lisp already has major 2 namespaces, function namespace and value namespace (or variable namespace), but there are actually more — e.g., class namespace. This library offers macros to deal with symbols from any namespace.
This package provides a Common Lisp system with a collection of common tests and operations to help handling pathnames. It does not actually deal in handling the accessing of files on the underlying system however.
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.
repl-utilities
is a set of utilities which ease life at the REPL. It includes three sorts of features: introspective procedures, miscellaneous utility functions, and, pulling them together, methods to conveniently keep these symbols and optionally additional symbols available in whichever package you switch to.
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 library is a collection of utilities for writing compiler macros. It is intended to make it possible to make compiler macros much more useful, by granting them access to lexical type information, making the protocol for declining expansion more convenient, and establishing some information for signaling optimization advice to programmers. Some utilities to support this, especially for reasoning on types, are also included.
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.
A hodgepodge of useful Lisp snippets.
A hodgepodge of useful Lisp snippets.
This a Common Lisp library to parse HTML5 documents.
This library provides an OS and implementation independent access to timeouts.
This package provides a Common Lisp library for getting the battery information.
This Common Lisp library provides utilities for the Bodge library collection.
This package provides a Common Lisp assertion system with minimal dependencies on DISSECT.
This is a lightweight, non-consing, optimized queue implementation for Common Lisp.
This package provides a minimalistic Pulseaudio volume and microphone control module for StumpWM.
Dynamic-Classes helps to ease the prototyping process by bringing dynamism to class definition.
This package provides a keyboard-driven divide-and-conquer mouse control mode for StumpWM.
This is futures implementation for Common Lisp. It plugs in nicely to cl-async.
cl-alexandria-plus
is a conservative set of extensions to cl-alexandria
utilities.
This library provides almost the same code as used inside Quicklisp for drawning progress bars
cl-quicklisp-stats
is a system that fetches and performs basic operations on the Quicklisp download statistics.