Stealth-mixin is a Common Lisp library for creating stealth mixin classes. These are classes that are dynamically mixed into other classes without the latter being aware of it.
This library retrieves locale information configured on the system. This is helpful if you want to write applications and libraries that display messages in the user's native language.
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.
This is a Common Lisp library to change the capitalization and spacing of a string or a symbol. It can convert to and from Lisp, english, underscore and camel-case rules.
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.
This package provides an advanced Pomodoro timer module for StumpWM.
This package contains a support library for other hu.dwim systems.
This package provides a priority queue implemented with an array-based heap.
fast-websocket
is an optimized low-level WebSocket protocol parser/composer.
With static-vectors
, you can create vectors allocated in static memory.