Binary-types is a Common Lisp package for reading and writing binary files. Binary-types provides macros that are used to declare the mapping between Lisp objects and some binary (i.e. octet-based) representation.
a tiny library of functional programming utils placed into the public domain.
the idea is to make functional programs shorter and easier to read without resorting to syntax [like arc's square bracket unary function syntax]
cl-sbcl-cl-ipfs-api2 is a pretty simple set of IPFS bindings for Common Lisp, using the HTTP API for (almost) everything, except for pubsub (which uses the locally installed go-ipfs program).
cl-hash-util is a very basic library for dealing with CL's hash tables. The idea was spawned through working with enough JSON APIs and config files, causing a lot of headaches in the process.
This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's geared toward both using Freetype directly by providing a simplified API, as well as providing access to the underlying C structures and functions for use with other libraries which may also use Freetype.
cl-ansi-text provides utilities which enable printing to an ANSI terminal with colored text. It provides the macro with-color which causes everything printed in the body to be displayed with the provided color. It further provides functions which will print the argument with the named color.
cl-num-utils implements simple numerical functions for Common Lisp, including:
num=, a comparison operator for floatssimple arithmeric functions, like
sumandl2normelementwise operations for arrays
intervals
special matrices and shorthand for their input
sample statistics
Chebyshev polynomials
univariate rootfinding
parse-number is a library of functions for parsing strings into one of the standard Common Lisp number types without using the reader. parse-number accepts an arbitrary string and attempts to parse the string into one of the standard Common Lisp number types, if possible, or else parse-number signals an error of type invalid-number.
This data structure can be used to store the history of visited paths or URLs with a file or web browser, in a way that no “forward” element is ever forgotten.
The history tree is “global” in the sense that multiple owners (e.g. tabs) can have overlapping histories. On top of that, an owner can spawn another one, starting from one of its nodes (typically when you open a URL in a new tab).
This library is a collection of pseudo random number generators.
While Common Lisp does provide a RANDOM function, it does not allow the user to pass an explicit SEED, nor to portably exchange the random state between implementations. This can be a headache in cases like games, where a controlled seeding process can be very useful.
For both curiosity and convenience, this library offers multiple algorithms to generate random numbers, as well as a bunch of generally useful methods to produce desired ranges.
This package provides a Common Lisp implementation of ActivityPub and ActivityStreams standards for social networking.
Features:
Parsing and un-parsing ActivityStreams JSON-LD objects to/from CLOS objects with convenient accessors on those.
Sending and fetching ActivityStreams objects to/from the ActivityStreams-enabled HTTP(S) URLs.
Semantic info extraction with methods like
name*,url*,author*, andpublished*.No reliance on JSON parser.
njsonis used for parser-independent JSON handling. Load the parser backend you prefer!
This is a Common Lisp version of UglifyJS, a JavaScript compressor. It works on data produced by parse-js to generate a minified version of the code. Currently it can:
reduce variable names (usually to single letters)
join consecutive
varstatementsresolve simple binary expressions
group most consecutive statements using the
sequenceoperator (comma)remove unnecessary blocks
convert
IFexpressions in various ways that result in smaller coderemove some unreachable code
On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there is a collection of Common Lisp Utilities, things that everybody writes since they're not part of the official standard. There are some very useful things there; the only problems are that they aren't implemented as well as you'd like (some aren't implemented at all) and they aren't conveniently packaged and maintained. It takes quite a bit of work to carefully implement utilities for common use, commented and documented, with error checking placed everywhere some dumb user might make a mistake.
Common Lisp port of the QuickCheck unit test framework
This package provides simple format directives to print in colors.
This library provides a WebSockets extension for the Huchentoot web server.
This library provides an asynchronous process execution mechanism for Common Lisp.
This package provides an automatic generator for ASDF's .asd files.
The Distributions package provides a collection of probabilistic distributions and related functions
This is a Common Lisp library to build and compose SXQL queries dynamically.
This library implements various functions to access status information about the machine, process, etc.
Spatial-trees is a set of dynamic index data structures for spatially-extended data.
Random-Sample is a library for reliably taking a random sample from a sequence.