Common Lisp Portability Library Status

Lobsters Hottest Tools

Summary

A comprehensive status overview of Common Lisp portability libraries showing compatibility percentages across different Common Lisp implementations.

<p><a href="https://lobste.rs/s/rfkain/common_lisp_portability_library_status">Comments</a></p>
Original Article
View Cached Full Text

Cached at: 05/26/26, 03:15 AM

# Common Lisp Portability Library Status Source: [https://portability.cl/](https://portability.cl/) ## [ATOMICS](https://shinmera.com/docs/atomics) - ABCL0% - ALLEGRO100% - CCL100% - CLASP100% - CLISP0% - CMUCL0% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO100% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% Thin wrapper over atomic operators such as Compare and Swap \(CAS\)\. ## [BORDEAUX\-THREADS](https://github.com/sionescu/bordeaux-threads) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN100% - ECL100% - GCL0% - GENERA100% - JSCL0% - LISPWORKS100% - MCL100% - MEZZANO100% - MKCL100% - MOCL0% - SBCL100% - SCL100% - XCL0% Basic multithreading constructs including locks and condition variables\. ## [CFFI](https://common-lisp.net/project/cffi/) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN100% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL100% - MEZZANO0% - MKCL100% - MOCL0% - SBCL100% - SCL100% - XCL0% Direct memory manipulation and interaction with foreign libraries following the C ABIs\. ## [CL\-ENVIRONMENTS](https://github.com/alex-gutev/cl-environments) - ABCL100% - ALLEGRO100% - CCL100% - CLASP0% - CLISP100% - CMUCL100% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% Environment introspection as described in CLtL2\. ## [CLAST](http://clast.sourceforge.net/) - ABCL0% - ALLEGRO100% - CCL100% - CLASP0% - CLISP0% - CMUCL100% - CORMAN0% - ECL0% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% Common Lisp Abstract Syntax Tree introspection \(with CLtL2 environments\)\. ## [CLOSER\-MOP](https://github.com/pcostanza/closer-mop) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL100% - MEZZANO100% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% For the common Meta\-Object Protocol extension to CLOS\. ## [DEFINITIONS](https://shinmera.com/docs/definitions) - ABCL75% - ALLEGRO75% - CCL100% - CLASP100% - CLISP75% - CMUCL75% - CORMAN75% - ECL75% - GCL75% - GENERA75% - JSCL75% - LISPWORKS75% - MCL75% - MEZZANO75% - MKCL75% - MOCL75% - SBCL100% - SCL75% - XCL75% Portable definitions reflection library, including source location tracking\. ## [DISSECT](https://shinmera.com/docs/dissect) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL0% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS0% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% Capturing the call stack and inspecting frames\. ## [FLOAT\-FEATURES](https://shinmera.com/docs/float-features) - ABCL100% - ALLEGRO90% - CCL100% - CLASP100% - CLISP10% - CMUCL100% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS90% - MCL0% - MEZZANO100% - MKCL90% - MOCL0% - SBCL100% - SCL0% - XCL0% IEEE floating point number extensions such as infinities, NaN handling, and trap masking\. ## [GLOBAL\-VARS](https://github.com/lmj/global-vars) - ABCL0% - ALLEGRO0% - CCL100% - CLASP0% - CLISP0% - CMUCL0% - CORMAN0% - ECL0% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% Unrebindable global variables\. ## [INTROSPECT\-ENVIRONMENT](https://github.com/Bike/introspect-environment) - ABCL0% - ALLEGRO0% - CCL100% - CLASP100% - CLISP0% - CMUCL100% - CORMAN0% - ECL0% - GCL0% - GENERA0% - JSCL0% - LISPWORKS0% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% Compile\-time introspection of environments\. ## [NONTRIVIAL\-GRAY\-STREAMS](https://github.com/yitzchak/nontrivial-gray-streams) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO100% - MKCL100% - MOCL0% - SBCL100% - SCL0% - XCL0% A compatibility layer for Gray streams including extensions\. ## [SHUT\-IT\-DOWN](http://verisimilitudes.net/2017-12-30) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN100% - ECL100% - GCL100% - GENERA0% - JSCL0% - LISPWORKS100% - MCL100% - MEZZANO0% - MKCL100% - MOCL0% - SBCL100% - SCL100% - XCL100% Allow for exiting the Lisp process\. ## [STATIC\-VECTORS](https://github.com/sionescu/static-vectors) - ABCL0% - ALLEGRO100% - CCL100% - CLASP100% - CLISP0% - CMUCL100% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% Simple arrays that don't move in memory and can be shared with foreign systems\. ## [TRIVIAL\-ARGUMENTS](https://shinmera.com/docs/trivial-arguments) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN100% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO100% - MKCL0% - MOCL0% - SBCL100% - SCL100% - XCL0% Retrieve the lambda\-list of a function\. ## [TRIVIAL\-BACKTRACE](https://common-lisp.net/project/trivial-backtrace/) - ABCL0% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN0% - ECL0% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL100% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL100% - XCL0% Printing the current stack trace to a string\. ## [TRIVIAL\-CLTL2](https://github.com/Zulu-Inuoe/trivial-cltl2) - ABCL100% - ALLEGRO100% - CCL100% - CLASP88% - CLISP0% - CMUCL100% - CORMAN0% - ECL12% - GCL0% - GENERA0% - JSCL0% - LISPWORKS0% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% Some of the extensions described in CLtL2 that were not included in ANSI\. ## [TRIVIAL\-CUSTOM\-DEBUGGER](https://github.com/phoe/trivial-custom-debugger) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL0% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO100% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% Allows arbitrary functions to become the standard Lisp debugger ## [TRIVIAL\-DEPRECATE](https://shinmera.com/project/trivial-deprecate) - ABCL75% - ALLEGRO75% - CCL75% - CLASP75% - CLISP75% - CMUCL75% - CORMAN75% - ECL75% - GCL75% - GENERA75% - JSCL75% - LISPWORKS75% - MCL75% - MEZZANO75% - MKCL75% - MOCL75% - SBCL100% - SCL75% - XCL75% This library implements a simple deprecation mechanism\. ## [TRIVIAL\-ED\-FUNCTIONS](https://github.com/yitzchak/trivial-ed-functions) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP0% - CMUCL0% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS0% - MCL0% - MEZZANO100% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% Provide hook functions called by ED function to delegate editing of file or object\. ## [TRIVIAL\-EXTENSIBLE\-SEQUENCES](https://shinmera.com/docs/trivial-extensible-sequences) - ABCL100% - ALLEGRO0% - CCL0% - CLASP100% - CLISP0% - CMUCL0% - CORMAN0% - ECL0% - GCL0% - GENERA0% - JSCL0% - LISPWORKS0% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% Custom sequence classes through a CLOS protocol\. ## [TRIVIAL\-FEATURES](https://github.com/trivial-features/trivial-features) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN100% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL100% - MEZZANO100% - MKCL100% - MOCL100% - SBCL100% - SCL100% - XCL100% Standardised platform features for CPU architectures and operating systems\. ## [TRIVIAL\-FILE\-SIZE](https://github.com/ruricolist/trivial-file-size) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN0% - ECL50% - GCL100% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% Query a file's size from its metadata\. ## [TRIVIAL\-GARBAGE](https://common-lisp.net/project/trivial-garbage/) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN100% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO100% - MKCL0% - MOCL0% - SBCL100% - SCL100% - XCL0% Access to GC related tasks such as weak pointers, weak tables, and finalizers\. ## [TRIVIAL\-GRAY\-STREAMS](https://github.com/trivial-gray-streams/trivial-gray-streams) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN0% - ECL100% - GCL0% - GENERA100% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO100% - MKCL100% - MOCL100% - SBCL100% - SCL0% - XCL0% Custom stream classes through a CLOS protocol\. ## [TRIVIAL\-INSPECTOR\-HOOK](https://github.com/yitzchak/trivial-inspector-hook) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP0% - CMUCL0% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS0% - MCL0% - MEZZANO100% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% Provide \*INSPECTOR\-HOOK\* \(CDR\-6\) that is called by the INSPECT function to delegate inspection\. ## [TRIVIAL\-MACROEXPAND\-ALL](https://github.com/yitzchak/trivial-macroexpand-all) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN100% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO0% - MKCL100% - MOCL0% - SBCL100% - SCL100% - XCL0% Provide a portable macroexpand\-all function\. ## [TRIVIAL\-PACKAGE\-LOCAL\-NICKNAMES](https://github.com/phoe/trivial-package-local-nicknames) - ABCL100% - ALLEGRO100% - CCL100%\*1\.12 - CLASP100% - CLISP0% - CMUCL0% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100%\*7\.2 - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% Package nicknames that are local to another package, avoiding package naming conflicts\. 1. 1\.12CCL 2. 7\.2LISPWORKS ## [TRIVIAL\-PACKAGE\-LOCKS](https://github.com/yitzchak/trivial-package-locks) - ABCL0% - ALLEGRO100% - CCL0% - CLASP0% - CLISP75% - CMUCL75% - CORMAN0% - ECL75% - GCL0% - GENERA0% - JSCL0% - LISPWORKS0% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% Package locks protect against unintentional modifications of a package ## [TRIVIAL\-WITH\-CURRENT\-SOURCE\-FORM](https://github.com/scymtym/trivial-with-current-source-form) - ABCL0% - ALLEGRO0% - CCL0% - CLASP100%\*0\.1\.0 - CLISP0% - CMUCL0% - CORMAN0% - ECL0% - GCL0% - GENERA0% - JSCL0% - LISPWORKS0% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100%\*0\.1\.01\.3\.13 - SCL0% - XCL0% Allows macro writers to provide better feedback to macro users when errors are signaled during macroexpansion\. 1. CLASPSince0\.1\.0 2. 1\.3\.13SBCLSince0\.1\.0 ## [UIOP](https://common-lisp.net/project/asdf/uiop.html) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN100% - ECL100% - GCL100% - GENERA100% - JSCL0% - LISPWORKS100% - MCL100% - MEZZANO100% - MKCL100% - MOCL100% - SBCL100% - SCL100% - XCL100% The general toolkit library shipped with ASDF\. Handles pathnames, filesystems, external processes, and more\. ## [USOCKET](https://common-lisp.net/project/usocket/) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN100% - ECL100% - GCL0% - GENERA100% - JSCL0% - LISPWORKS100% - MCL100% - MEZZANO75% - MKCL0% - MOCL100% - SBCL100% - SCL100% - XCL0% POSIX/BSD sockets to establish TCP or UPD connections and servers\.

Similar Articles

On C extensions, portability, and alternative compilers

Lobsters Hottest

This article discusses the practical challenges of writing portable C code due to reliance on non-standard compiler extensions and glibc's conditional headers, illustrating with examples from building a C compiler.

The C++ Standard Library Has Been Walking Itself Back for Fifteen Years, and the Receipts Are Public

Lobsters Hottest

A detailed catalogue of C++ standard library features that have been formally deprecated, informally discouraged, or are effectively broken but cannot be fixed due to ABI constraints, spanning from C++11 to C++26. The article argues a consistent pattern of the C++ committee shipping replacements for its own features, including a benchmark showing 58x P99 latency difference between Rust and C++ standard library containers.