画像引用元: 2.bp.blogspot.comLISP
LISPは、長い歴史を持ち、特徴的で完全に括弧で囲われたポーランド記法によるプログラミング言語である。1958年にはじめて設計され、LISPは今日、広範囲に使用される高水準プログラミング言語の中でFORTRANに次いで2番目に古いものであるが、FORTRAN同様LISPは初期から非常に大きな変化を続けている。これまでに多数の方言が存在してきたが、今日最も広く知られるLISP方言は、Common LispとSchemeである。元々、LISPは、アロンゾ・チャーチのラムダ計算表記法に影響を受け、コンピュータープログラムのための実用的かつ数学的な表記法として作られた。そして、すぐに人工知能研究に好まれるプログラミング言語になった。最初期のプログラミング言語として、LISPは計算機科学にて、木構造、ガベージコレクション、動的型付け、条件分岐、高階関数、再帰、セルフホスティング、コンパイラを含む多くのアイディアを切り開いた。LISPの名前は、「list processor」に由来している。リストはLISPの主要なデータ構造であり、LISPソースコードはそれ自体がリストからできている。その結果、LISPプログラムはソースコードをデータとして操作することができ、プログラマーは、マクロ・システムで新しい構文やLISP埋め込みの新しいDSLを作成できる。コードとデータの互換性は、LISPにそのすぐに認識できる構文を与える。すべてのプログラム・コードはS式または入れ子のリストとして書かれる。関数呼び出しまたは構文は先頭が関数または演算子の名前で、その続きが引数であるリストとして書かれる。具体的には、3つの引数を取る関数<code>f</code>は、<code>(f arg1 arg2 arg3)</code>として呼び出される。
