defgenericマクロは、総称関数（ジェネリック関数）を定義する。defmethodマクロはメソッドを定義する。総称関数はメソッドの集合である。メソッドはそのパラメータとして渡されたクラスやオブジェクトによって特定化される。総称関数が呼び出されると、マルチメソッドディスパッチ（多重メソッドディスパッチ）により、実際に使用されるメソッドが決定される。  (defgeneric add (a b))  (defmethod add ((a number) (b number))    (+ a b))  (defmethod add ((a string) (b string))    (concatenate 'string a b))  (add "Zippy" "Pinhead") ; returns "ZippyPinhead"  (add 2 3)               ; returns 5総称関数もファーストクラスのデータ型である。総称関数やメソッドには上に記載したよりも、もっと豊富な機能が存在する。
defun マクロは関数を定義する。関数定義は名前と、引数の名前、そして関数本体で構成される。 (defun square (x)   (* x x))関数定義は、コンパイラに最適化設定や引数のデータ型を指定に関するヒントを与えるための 宣言や、LISP システムに対話的なドキュメンテーションを与えるためのドキュメンテーション文字列を含むことがある。 (defun square (x)   "Calculates the square of the number x."   (declare (number x) (optimize (speed 3) (debug 0) (safety 1)))   (* x x))無名関数は lambda 式を用いて定義される。LISP 的なプログラミングスタイルでは、高階関数の引数として無名関数を使う場合が多い。関数の定義や操作に関する多くのオペレータが存在する。たとえば、関数は compile によって再コンパイルされる場合がある。(いくつかの LISP システムでは、明示的なコンパイル命令があるまで、デフォルトでは関数をインタプリタで実行するものや、オンザフライで関数を実行するたびにコンパイルするものなどがある)
Common Lisp では、関数 もデータ型の一つである。たとえば、これは他の関数を引数として取る関数を書く事を可能としたり、関数を返すような関数を書く事を可能とする。これにより、非常に汎用化された操作を記述できるようになる。このため、Common Lisp のライブラリは、多くの部分が高階関数の上に成りたっている。たとえば、sort 関数は、引数として 比較オペレータ を取る。これは、比較関数が任意の型のデータを整列できるだけでなく、キーによって任意のデータ構造を整列することも可能にする。 (sort (list 5 2 6 3 1 4) #'>) ;「 > 関数」を比較オペレータとして用い、リストを整列する ; --> (6 5 4 3 2 1)  (sort (list '(9 a) '(3 b) '(4 c))       #'(lambda (x y) (< (car x) (car y)))) ; リスト内のサブリスト中の最初の要素 (car) に沿ってリストを整列する ; --> ((3 b) (4 c) (9 a))
ハッシュテーブルはデータオブジェクト間の関連を保持する。任意のオブジェクトがキーもしくは値として使用可能である。ハッシュテーブルは配列のように必要に応じて動的にリサイズされる。パッケージはシンボルの集合であり、主にプログラムの一部を 名前空間 で分割するために使用される。パッケージはいくつかのシンボルをエクスポートすることで、インターフェースを公開する。構造体 は C言語の構造体や Pascal のレコードに似た、複数の型と値のフィールド（スロットと呼ばれる）で構成される複合的なデータ構造である。クラスのインスタンスは構造体に似ているが、これはオブジェクトシステム CLOS によって作られるものである。
Common Lisp は多次元の 配列をサポートしており、また必要に応じて配列を動的にリサイズする事も可能である。多次元配列は行列演算に利用される。ベクタは一次元の配列である。配列は任意の型を要素として持つことができる（一つの配列に複数の型の要素を混在させることもできる）が、それに加えて、整数のベクタのように要素を特定の型に特定化することも可能である。多くの実装では、型指定された配列を使う場合には、配列操作の最適化が可能である。型指定された配列のなかで二種類が標準で定義されている。文字列は文字を要素としたベクタであり、ビットのベクタはビットベクタである。ビットベクタとベクタはシーケンスのsubtypeでもある。
アメリカのオーナーブリーダーであったポール・メロンの生産した馬の1頭で、J. エリオット・バーチ調教師に預けられて1968年にデビューした。2歳時は6戦2勝と平凡な成績を収めたが、翌年の3歳シーズンが始まるとエバーグレードステークス（ハイアリアパーク競馬場・芝8.5ハロン）で前年の最優秀2歳牡馬トップナイトを抑えて勝ち、クラシック路線の有力馬として注目されるようになった。その後もフラミンゴステークスとフロリダダービーでトップナイトと対戦しているが、ここではいずれもトップナイトの2着に敗れている。この世代のケンタッキーダービーは強豪と目された有力馬が集まり、前走ブルーグラスステークスで15馬身差の大圧勝劇を繰り広げたアーツアンドレターズでも4番人気に甘んじるほどの「当たり年」であった。このため、回避する陣営が相次いで8頭立てでの開催となっている。アーツアンドレターズはレース終盤まで前に位置取り、1マイルを過ぎたあたりで先頭に立っていたが、後ろから来たマジェスティックプリンスにクビ差で競り負け、戴冠を逃してしまった。続くプリークネスステークスでもアタマ差でマジェスティックプリンスに敗れ、相手に三冠のチャンスを与えてしまった。陣営はここでベルモントステークスに直行せず、メトロポリタンハンデキャップを間に挟んで心機一転を図った。初の古馬の対戦となったが、古豪ノーダブルを抑えて勝ちを収めた。そして3度目の対戦となったベルモントステークスにおいて、アーツアンドレターズはマジェスティックプリンスを5馬身半差の2着に退ける圧勝を繰り広げ、世間の期待した「無敗の三冠馬」の誕生を阻止することに成功した。この競走の後に、マジェスティックプリンスは故障により引退している。新たな主役となったアーツアンドレターズは、その後もトラヴァーズステークスやジョッキークラブゴールドカップなどで同世代・古馬と相手に圧勝劇を繰り広げ、同年の年度代表馬に選出された。翌年、アーツアンドレターズはハリウッドパーク競馬場のカリフォルニアンステークスに出走した際に故障が発生し、それを理由に引退した。