This library is a small interface to portable but nonstandard introspection of Common Lisp environments. It is intended to allow a bit more compile-time introspection of environments in Common Lisp.
Quite a bit of information is available at the time a macro or compiler-macro runs; inlining info, type declarations, that sort of thing. This information is all standard - any Common Lisp program can (declare (integer x))
and such.
This info ought to be accessible through the standard &environment
parameters, but it is not. Several implementations keep the information for their own purposes but do not make it available to user programs, because there is no standard mechanism to do so.
This library uses implementation-specific hooks to make information available to users. This is currently supported on SBCL, CCL, and CMUCL. Other implementations have implementations of the functions that do as much as they can and/or provide reasonable defaults.
This package provides a Common Lisp ASDF system auto-loading extension.
This library provides a macroexpand-all function that calls the implementation specific equivalent.
This is a backend for the linear-programming Common Lisp library using the GNU Linear Programming Kit (GLPK) library.
bubble-operator-upwards
is a function that bubbles an operator upwards in a form, demultiplexing all alternative branches by way of cartesian product.
This library provides a drop-in replacement function for cl:documentation that supports multiple docstrings per-language, allowing you to write documentation that can be internationalised.
nontrivial-gray-streams
is a compatibility system for Gray streams, which is an extension to Common Lisp that makes it possible to implement Common Lisp streams using generic functions.
This is a portability library that allows one to fully override the standard debugger provided by their Common Lisp system for situations where binding *debugger-hook*
is not enough -- most notably, for break
.
A heap-based priority queue whose first and foremost priority is speed. Optionally comes in a stable flavor.
This module provides a battery level indicator for the modeline. It can be displayed in the modeline with %B.
Trivial Monitored Thread offers a very simple (aka trivial) way of spawning threads and being informed when one any of them crash and die.
This library is a bridge between Common Lisp and GObject Introspection, which enables Common Lisp programs to access the full interface of C+GObject libraries without the need of writing dedicated bindings.
ASDF-FLV provides support for file-local variables through ASDF. A file-local variable behaves like *PACKAGE*
and *READTABLE*
with respect to LOAD
and COMPILE-FILE
: a new dynamic binding is created before processing the file, so that any modification to the variable becomes essentially file-local.
In order to make one or several variables file-local, use the macros SET-FILE-LOCAL-VARIABLE(S)
.
This package provides an example implementation of the Common Lisp condition system and library, based on the original condition system implementation by Kent M. Pitman.
This StumpWM Module provides modeline support for a battery indicator.
A tiny utility to change array size ensuring it is simple.
This Common Lisp library provides reader macros for concise expression of function partial application and composition.
This a Common Lisp library for reading and writing binary data. It is based on code from chapter 24 of the book Practical Common Lisp.
wild-package-inferred-system
is an extension of ASDF package-inferred-system that interprets star * and globstar ** in package or system names.
This package provides a portability layer for the extensible sequences standard extension to Common Lisp. Extensible sequences allow you to create your own sequence types that integrate with the rest of the functions and operations that interact with sequences.
Use rich-formatter
to format documentation with sections :syntax
, :arguments
, :examples
, :description
, :returns
, :side-effects
, :thread-safety
, :affected-by
, :see-also
and :notes
. Gather unformatted input by using rich-aggregating-formatter
and *DOCUMENTATION*
variable. Find gathered documentation with find-documentation function. Execute code stored in documentation with execute-documentation
. See the examples in the src/documentation.lisp
file. See the documentation-utils
system for more information.
This library is a portable compatibility layer around package local nicknames (PLN). This was done so there is a portability library for the PLN API not included in DEFPACKAGE.
This library converts the elements from GObject Introspection into Common Lisp-style definitions, based on cl-gobject-introspection.
This library allows macro writers to provide better feedback to macro users when errors are signaled during macroexpansion. It uses the compiler's concept of a source-form to report where the error or warning is located.