Clone wiki

zonunote2 / Lisp

Lisp

“ Lispの核心部分は、プログラミングの世界においてある種の極地を成している。 ”
――Lispの発案者、John McCarthyによる控へ目な言葉
(Doug Hoyte ,2008, HOPプロジェクト訳, 『LET OVER LAMBDA Edition 1.0』 よりの孫引き)
“ 教養の言語としてLispを教えるときに、純粋関数型言語の特徴だけをゴリゴリ押しまくるのは良い方針ではない。Lispの雑草のような生命力の根源を見失わせる恐れがあるからだ。 ”
――伝説の奇書『初めての人のためのLISP [増補改訂版]』 より、竹内郁雄のことば[竹内 2010:vii]

Lispはジョン・マッカーシー(John McCarthy)が発明したプログラミング言語、及び直接の影響を受けたプログラミング言語(方言・子孫)の総称。その名前は「LISt Processing」に基く。竹内郁雄によれば、Lispとは(老子の)「(Tao)」である[竹内 2010:xiii]

表記

本来の表記は、大文字のLISPであるがMcCarthy 1960、単に「LISP」と書く場合はオリジナルのLISPを、「Lisp」と先頭を大文字で表記する場合はLisp方言一般を表すことが多い、やうに観察される[要出典]

特徴

式指向の構文を持ち、多くのLisp方言はS式と呼ばれるデータ構造を評価することでプログラムを実行する。いはゆる函数型プログラミング言語に分類されるが、データの破壊的操作が可能なため、非純粋函数型言語よりは、函数型の要素を備へた手続き型プログラミング言語と呼んだ方が適切だとも言はれる[竹内 2010:vii]

歴史

できごと
1956研究分野としての人工智能が確立する端緒となったダートマス会議 (Dartmouth summer research project on artificial intelligence) にてジョン・マッカーシーによりLISPの原型が構想される

方言

Scheme (Lisp-1)
1975年にALGOLの影響を受たLisp方言として誕生し、さらに数多くの影響を与へる
Emacs Lisp (Lisp-2)
1984年にEmacsの拡張言語として生を享けた、現在に残る最後のLISPマシン
Common Lisp (Lisp-2)
1984年に百家争鳴のLisp戦国時代を終熄させるべく策定が開始され、1994年にANSIで標準化されたLisp方言
Clojure (Lisp-1)
2007年にJavaJMで動作する並列プログラミングのための函数型言語として設計されたLisp方言

参考文献

竹内 2010
竹内郁雄. 2010年 『初めての人のためのLISP [増補改訂版]』 翔泳社
McCarthy 1960
John McCarthy. 1960年. 『RECURSIVE FUNCTIONS OF SYMBOLIC EXPRESSIONS AND THEIR COMPUTATION BY MACHINE (Part I)

Updated