Since Common Lisp is the "programmable programming language," many of these extensions are quite far-reaching.
- ap5 - A mature, embedded, in-memory Relational ObjectStore and a high-level/declarative/specification language
- CAPTURED-STREAM - captured-stream is a small Common Lisp library for viewing streams as sequences
- CL Enumerations - A package; an implementation of java.util.Enumeration and java.util.Iterator for Common Lisp
- cl-2dsyntax - cl-2dsyntax is an indentation-sensitive syntax system like Python (the programming language, not the CMUCL/SBCL compiler) does
- cl-ana - cl-ana aims to provide the basic tools necessary to analyze large/medium-large datasets
- cl-annot - cl-annot adds Python-like decorators (or Java-like annotations) to Common Lisp
- cl-cont - cl-cont is a delimited continuations library for Common Lisp
- cl-dsl - Define your Domain Specific Languages in a user-friendly way
- cl-events - Composable events system for Common Lisp
- cl-groupby - Short implementation of Scalas groupBy functionality for Common Lisp
- cl-hooks - cl-hooks allows the description of extension points in software using a concept of hooks (borrowed from Emacs)
- cl-itertools - Write iterators in CL in a way close to Python ones
- cl-op - A partial application library inspired by Goo's op function and SRFI 26
- cl-package-aliases - Extends the standard CL package system with the ability to define package-local aliases (nicknames) to other packages in a transparent way
- CL-PACKAGE-LOCKS - A unified way of dealing with package locks on those implementations that support them (or that's the eventual goal anyways)
- cl-parametric-types - [BETA] A tool to repeatedly compile the same source code with different types
- cl-read-macro-tokens - Modify lisp reader, so that it could dispatch not only on characters, but also on arbitrary symbols in CAR
- cl-rttemplate - cl-rttemplate is a quotation system which works in a similar way like the quasiquotation, but during the read-time
- cl-secure-read - Define constrained versions of READ, READ-PRESERVING-WHITESPACE and READ-FROM-STRING
- cl-semver - Semantic Versions handling in Common Lisp
- cl-slice - This library was unmaintained for several years
- cl-splicing-macro - Define macros, that splice multiple forms directly into body of enclosing macro, without any PROGN's left
- cl-typed - ML-like syntax for ftypes with library-side type-checking
- CLAST - The Common Lisp Abstract Syntax Tree language extension gives you a full blown, environment and macro-aware parser and walker for CL code
- CLLIB - CLLIB is a varied collection of Common lisp tools and routines in CLOCC
- COLLECTING - Common Lispy ways of collecting values during evaluation are diverse; here we discuss some well established and some proposed
- collectors - collectors is a common lisp library that aims to ease accumulating values (similar to loop/iter's collecting / appending clauses)
- Common Lisp Reasoner - Common Lisp meets AI problem-solving meets the semantic web
- comparisons - Comparison is a simple library adding comparison functions similar to EQUAL and EQUALP, which handle multiple types gracefully
- computed-class - A class metaobject for computed slot values and more
- conduit-packages - conduit-packages provides some enhancements to Common Lisp's package system
- Context Lite - Context Lite is a language extension for writing methods that specialize on the values of dynamic/special variables at runtime
- ContextL - ContextL is a language extension for Context-oriented Programming
- data-lens - This library provides a language for expressing data manipulations as the composition of more primitive operations
- DBC - DBC is a library for doing Design by contract ala the Eiffel programming language in Common Lisp
- defmacro-enhance - Extend DEFMACRO facility in spirit of Let Over Lambda
- defpackage-plus - An extensible DEFPACKAGE variant with predictable cross-platform behavior and some utilities useful for versioning
- doplus - doplus is a high-level, lispy, extensible iteration construct for Common Lisp
- dynamic-classes - Lets you specify CLOS classes (e.g., as arguments to make-instance) using parameters at run-time, letting you use mixins more conveniently
- fare-quasiquote - fare-quasiquote is a portable quasiquote implementation that plays well with pattern-matching
- fast-generic-functions - Generic functions that can be sealed on certain domains for performance
- Filtered Functions - filtered-functions implements arbitrary predicate dispatch for CLOS
- function-cache - Function-cache is a Common Lisp function caching / memoization library
- gecol - gecol provides bindings to GECODE in order to enjoy constraint programming in Lisp
- General accumulator - General accumulator is a general-purpose, extensible value accumulator library
- generators - Generators is a library that provides python style generators in common lisp, by using cl-cont delimited continuations
- ia-hash-table - Indifferent access hash-tables for Common Lisp
- incognito-keywords - incognito-keywords introduces a new kind of keyword that looks just like any non-keyword symbol and allows safe usage of convenient but clashy symbol names by multiple libraries without conflicts through sharing
- Incongruent Methods - A library that provides methods with incongruent lambda lists
- inlined-generic-function - A MOP-based implementation of fast inlined generic functions dispatched in compile-time
- iterate - iterate is a lispy and extensible replacement for the LOOP macro
- iterate-keywords - Lispy and extensible replacement for the LOOP macro, fork of iterate
- lambda-reader - lambda-reader is a language extension that lets you use the Unicode character λ for LAMBDA in the Lisp reader and printer
- LOOM - Lisp: Object-Oriented and Modular
- macrodynamics - Macrodynamics is a language extension that broadens the notion of dynamic scope inside macroexpansion code
- memoize - Memoize is a small library for performing memoization
- metacopy - Metacopy is a library that makes it easy to specify how to make copies of an object
- method-versions - A Common Lisp library for dispatching generic methods based on the value of a global parameter rather than on one of the required parameters
- mexpr - mexpr is an Infix syntax library
- modf - An immutable setf
- Modularize - Modularize is an attempt at providing a common interface to segregate major application components
- MW-EQUIV - mw-equiv provides one of many possible equivalence relations between Common Lisp objects, similar to the standard EQUAL function family, but extensible
- named-readtables - Named-Readtables is a language extension library that provides a namespace for readtables akin to the
- package-renaming - package-renaming is a library for locally renaming CL packages
- place-modifiers - place-modifiers essentially gives access to hundreds of modify-macros through one single macro: modify
- prompt-for - Prompt the user for input of a particular type, or satisfying some predicate
- quid-pro-quo - A contract programming library for Common Lisp in the style of Eiffel’s Design by contract
- readable - readable adds additional abbreviations in the sexp reader; supports infix, optional standard function call notation, optional indentation
- sb-sequence - An SBCL implementation of the protocol for user defined sequences
- schemeish - Scheme-ish syntax and namings for Common Lisp
- screamer - Screamer adds support for nondeterministic and constraint programming, including backtracking and undoable side-effects
- Series - A library providing data structure that combines aspects of sequences, (lazy) streams and loops, using a technique known as “fusion” or “deforestation”
- Sheeple - Sheeple is a delegative prototype-based object system inspired by CLOS
- snakes - Python style generators for Common Lisp
- SRFI - Scheme Requests for Implementation (SRFI) are proposed language extensions to Scheme, but that doesn't stop people from implementing them for Common Lisp
- syntax-case - SYNTAX-CASE is a system for macros proposed by R
- trivial-package-locks - A standard interface to the various package lock implementations
- with-c-syntax - C language syntax in Common Lisp
- xarray - This package implements a generalized interface for array-like
Pattern matching: (main topic: pattern matching)
- bind - Bind combines let*, destructuring-bind and multiple-value-bind into a single form
- bpm2 - bpm2 is a pattern matching language originally designed for doing code transformation [ie, writing compilers]
- cartesian-product-switch - cartesian-product-switch is a macro for choosing the appropriate form to execute according to the combined results of multiple tests
- cl-unification - Provides unification (as used in Prolog) over fairly arbitrary Common Lisp objects
- cl-xmlspam - XML Stream PAttern Matcher - concise, regexp-like pattern matching on streaming XML
- let-plus - LET+ extends let* with destructuring forms, slot access, hash table elements and various other constructs with a consistent interface
- screamer - Screamer adds support for nondeterministic and constraint programming, including backtracking and undoable side-effects
- spath - SPath is a library for running search queries against s-expressions, intended to match parts of them that the user needs
- Toadstool - Toadstool is a library for pattern matching
- Trivia - Trivial pattern matching compiler
- type-r - The complete collection of accessor functions and patterns to access the elements in a compound type specifier
Metaprogramming: (main topic: metaprogramming)
- agnostic-lizard - An almost correct portable code walker for Common Lisp
- arrow-macros - Clojure-like arrow macros in Common Lisp
- bubble-operator-upwards - bubble-operator-upwards is a function that "bubbles an operator upwards" in a form, demultiplexing all alternative branches by way of cartesian product
- cl-cont - cl-cont is a delimited continuations library for Common Lisp
- cl-curlex - Leak *LEXENV*, which describes lexical environment, into the runtime
- cl-environments - Implements the CLTL2 environment access API
- cl-indeterminism - Find and manipulate undefined variables and functions in forms
- cl-walker - cl-walker implements an sexp → CLOS AST tree transformation (and vice versa)
- Concrete-Syntax-Tree - Concrete Syntax Trees represent s-expressions with source information
- ctype - An implementation of the Common Lisp type system:
- de.setf.utility - de setf utility is a collection of Common Lisp utilities functions and several purpose-specific libraries
- deprecations - deprecations allows you to define functions, generic functions, macros and symbol macros as deprecated
- lineva - Linear evaluation macro system for Common Lisp
- linewise-template - A Common Lisp library for processing text files and streams as templates conforming to simple line-based hierarchical formats
- macro-eval - A kind of eval for use at macro-expansion time (such as for constant-folding purposes)
- macroexpand-dammit - macroexpand-dammit is a code walker by John Fremlin
- parse-declarations - Parse-Declarations is a metaprogramming library to parse, filter, and build Common Lisp declarations (things like (inline foo))
- parse-number-range - parse-number-range parses loop's convenient "for-as-arithmetic" syntax into 5 simple values
- quasiquote-2.0 - An alternative quasiquote syntax aimed at being more suitable for macros that define other macros
- reader-interception - reader-interception is a library for replacing the lisp reader with your own, so you can define your own syntax or compile other language through Lisp
- symbol-namespaces - symbol-namespaces defines a new kind of package that's named by a symbol rather than a string