Eager Future2 is a Common Lisp library that provides composable concurrency primitives that unify parallel and lazy evaluation, are integrated with the Common Lisp condition system, and have automatic resource management.
cl-guix-utils is a collection of Common lisp utilities for using guix. The primary feature is being able to load Common Lisp guix packages by system name without restarting the lisp process.
cl-guix-utils is a collection of Common lisp utilities for using guix. The primary feature is being able to load Common Lisp guix packages by system name without restarting the lisp process.
This library is a portable compatibility layer around "Common Lisp the Language, 2nd Edition" (https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html) and it exports symbols from implementation-specific packages.
This is a library that uses the other 3d-* math libraries to present an encapsulation for a spatial transformation. It offers convenience functions for operating on such transformations and for converting between them and the alternative 4x4 matrix representation.
This Common Lisp library implements object prevalence (see https://en.wikipedia.org/wiki/System_prevalence). It allows for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary classes and cyclic data structures are supported.
Markup allows the use of HTML syntax with in Common Lisp code. This has the advantage of being able to copy HTML snippets and have them instantly be functional, less double quotes than a s-expression approach, and designers will be able to understand the embedded HTML.
The Babel library solves a similar problem while understanding more encodings. Trivial UTF-8 was written before Babel existed, but for new projects you might be better off going with Babel. The one plus that Trivial UTF-8 has is that it doesn't depend on any other libraries.
Bind extends the idea of of let and destructing to provide a uniform syntax for all your accessor needs. It combines let
, destructuring-bind
, with-slots
, with-accessors
, structure editing, property or association-lists, and multiple-value-bind
and a whole lot more into a single form.
Flexi-streams is an implementation of "virtual" bivalent streams that can be layered atop real binary or bivalent streams and that can be used to read and write character data in various single- or multi-octet encodings which can be changed on the fly. It also supplies in-memory binary streams which are similar to string streams.
This library provides functions for determining the value types of Common Lisp forms, based on type information contained in the environment.
In order for this library to work the values types of variables and return types of functions have to be declared.
Macros and symbol-macros are fully expanded and all special forms, except CATCH
, are supported.
Common Lisp ships with a set of powerful built in data structures including the venerable list, full featured arrays, and hash-tables. CL-containers enhances and builds on these structures by adding containers that are not available in native Lisp (for example: binary search trees, red-black trees, sparse arrays and so on), and by providing a standard interface so that they are simpler to use and so that changing design decisions becomes significantly easier.
This library extends LOG4CL system in a few ways:
* It helps with configuration of multiple appenders and layouts. * Has a facility to catch context fields and to log them. * Has a macro to log unhandled errors. * Adds a layout to write messages as JSON, which is useful for production as makes easier to parse and process such logs. * Uses the appenders which are not disabled in case of some error which again, should be useful for production.
HTML-TEMPLATE is a Common Lisp library which can be used to fill templates with arbitrary (string) values at runtime. The result does not have to be HTML.
It is loosely modeled after the Perl module HTML::Template
and partially compatible with a its syntax, though both libraries contain some extensions that the other does not support.
HTML-TEMPLATE translates templates into efficient closures which can be re-used as often as needed. It uses a cache mechanism so you can update templates while your program is running and have the changes take effect immediately.
UNIX signal handling library for Common Lisp.
This StumpWM Module provides a notifications server for StumpWM.
fast-websocket
is an optimized low-level WebSocket protocol parser/composer.
With static-vectors
, you can create vectors allocated in static memory.
This package provides a priority queue implemented with an array-based heap.
This package contains a support library for other hu.dwim systems.
This is a Commin Lisp library for operating on permutations and permutation groups.
Splits sequence into a list of subsequences delimited by objects satisfying the test.
BKNR.DATASTORE is an in-memory CLOS based database with transactions for Common Lisp.
cl-draw-cons-tree
draws a cons tree in ASCII-art style.