の名前は、「」に由来している。リストはの主要なデータ構造であり、ソースコードはそれ自体がリストからできている。その結果、LISPプログラムはソースコードをデータとして操作することができ、プログラマは、マクロ・システムで新しい構文や埋め込みの新しいDSLを作成できる。LISPの歴史.は現在でも広く使われている年代物の言語の一つである。文法.は「式指向」の言語である。他の多くの言語とは違って、式と文は区別されず、すべてのコードとデータは式として書き下される。式が評価されたとき、それは値(または値のリスト)を生成する。式は他の式に埋め込める。式への依存が、に優れた柔軟性を与えている。の関数は、それ自身がリストとして書かれており、データとまったく同様に扱うことができる。のプログラムは他のプログラムを処理するように書くことができる。これは、メタプログラミングと呼ばれる。多くの方言はこの機能をマクロシステムで活用しており、言語自身の機能をほとんど際限なく拡張することを可能にしている。でのリストは空白と括弧で区切られた要素で記述される。たとえば、評価.という仕組みでによりエラーが返されたことがわかるだろう。もし引数のどれかが式であれば、それを含む式が評価される前にそれが再帰的に評価される。たとえば、算術演算も同様に処理される。式のようにして、関数を表現する。この例は、ラムダ計算における純LISP.プログラム例.の構文はそれ自身が再帰的定義に自然に適合している。それゆえ、再帰的に定義された集合を列挙するというような数学の問題をシンプルに表現できる。以下の関数は引数の階乗に評価される。下記は別のやり方であり、末尾再帰になっている。以下の関数は引数にリストをとり、そのリストの要素の順番を逆にしたものに評価される(は実際には同じことを行うビルトイン関数を普通持っている)。オブジェクト指向システム.以下を含む多種のオブジェクト指向あるいはモジュールがの上に、あるいは併置して、あるいは組み込まれて設置されている。は多重継承と多重ディスパッチ(マルチメソッド)の機能を持ち、強力なメソッド結合()のシステム()を持つ。を含めたは、公式に標準化された最初のオブジェクト指向言語である。ペンネーム.