Common Lisp
ハッシュテーブルはデータオブジェクト間の関連を保持する。任意のオブジェクトがキーもしくは値として使用可能である。ハッシュテーブルは配列のように必要に応じて動的にリサイズされる。パッケージはシンボルの集合であり、主にプログラムの一部を 名前空間 で分割するために使用される。パッケージはいくつかのシンボルをエクスポートすることで、インターフェースを公開する。構造体 は C言語の構造体や Pascal のレコードに似た、複数の型と値のフィールド(スロットと呼ばれる)で構成される複合的なデータ構造である。クラスのインスタンスは構造体に似ているが、これはオブジェクトシステム CLOS によって作られるものである。
Common Lisp と最も頻繁に比較対照されるのが Scheme である — これら二つは最も有名な LISP系言語だからだ。Scheme は Common Lisp よりも古く、同じ LISP の伝統から生みだされただけでなく、同じエンジニアのガイ・スティール・ジュニアが Common Lisp 委員会の議長を務めた。
以前の多くのLispの方言や実装とは異なり、Common Lisp は Scheme と同様な、スコープは静的スコープのみを基本とする仕様である。
Lisp Machine Lisp や MACLISP といった Common Lisp の設計に寄与した実装の多くは、インタプリタでは動的スコープを、コンパイラでは静的スコープ、という挙動になっていた。Schemeはそういったものとは異なり、静的スコープのみであった。Common Lisp は動的スコープをもサポートしているが、明示的な special 宣言が必要である。ANSI Common Lisp のインタプリタとコンパイラの間にはスコープに関しての相異点は全く存在しない。
時々、Common Lisp は「Lisp-2」、Scheme は「Lisp-1」と呼ばれることがある。これは Common Lisp が関数名と変数名(2つ)にそれぞれ独立した名前を備えている事に起因した名前である。しかし、実際には Common Lisp は go タグやブロック名、loop キーワードなど多くの名前空間を持っているし、マクロをうまく使えば、構文的に名前空間を追加することも出来る。複数の名前空間に関するトレードオフについて、Common Lisp と Scheme のそれぞれを支持する論争が長いあいだ行われている。