One of the many things that didn't quite get into the Common Lisp standard was how to get a Lisp to output its call stack when something has gone wrong. As such, each Lisp has developed its own notion of what to display, how to display it, and what sort of arguments can be used to customize it. trivial-backtrace
is a simple solution to generating a backtrace portably.
The canonical way to determine the size of a file in bytes, using Common Lisp, is to open the file with an element type of (unsigned-byte 8) and then calculate the length of the stream. This is less than ideal. In most cases it is better to get the size of the file from its metadata, using a system call.
This library exports a single function, file-size-in-octets. It returns the size of a file in bytes, using system calls when possible.
This package provides a Common Lisp system which wraps the BORDEAUX-THREADS system to be able to run things in the main thread of the implementation, for example drawing calls of GUI applications.
This package provides a library to open a web browser to a URL.
Unifies a parametrized type specifier against an actual type specifier. Importantly, it handles complicated array-subtypes and number-related types correctly.
Gray streams is an interface proposed for inclusion with ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most popular CL implementations implement it. This package provides an extremely thin compatibility layer for gray streams.
TRIVIAL-OCTET-STREAMS is a Common Lisp library implementing in-memory octet streams analogous to string streams.
This library provides a macroexpand-all function that calls the implementation specific equivalent.
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
.
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 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.
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 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.