純LISP
出典: フリー百科事典『ウィキペディア(Wikipedia)』
純LISP(じゅんりすぷ)とは情報工学で、ラムダ計算を用いるモデルとして考案された理論上のプログラミング言語のことである。1960年にジョン・マッカーシーが発表した論文「Recursive Functions of Symbolic Expressions and their Computation by Machine (Part I)」で導入された。
[編集] 概要
純LISPには二種のデータ(リスト、アトム)、及びそれらを操作する五つの基本関数だけが存在する。
- 「リスト」はデータのペアを表現する。値A,Bからなるリストは (A . B)のように表され、リストを再帰的に連結することで任意のデータ構造を表現できる。便宜上(A B C)を(A . (B . (C . nil)))の略記とみなす。
- 「アトム」はリストではないものである。上記nilはリストの終端を示すアトムである。他に真値Tもアトムである。
五つの基本関数とは、
- car リストの左値をとり出す。(car[(A . B)] -> A)
- cdr リストの右値をとり出す。(cdr[(A . B)] -> B)
- cons 二つの値からなるリストを作る。(cons[A;B] -> (A . B))
- atom 値がアトムならTを返す。(atom[(A B)] -> nil, atom[nil] -> T)
- eq 二つの値が同じ物ならTを返す (eq[A;A] -> T)
以上が最小構成のLISPであり、理論上チューリングマシンと同等の能力(チューリング完全)を持つ。
[編集] 関連項目
[編集] 外部リンク
- RECURSIVE FUNCTIONS OF SYMBOLIC EXPRESSIONS AND THEIR COMPUTATION BY MACHINE (Part I) ジョン・マッカーシーが最初に純LISPを導入した論文
カテゴリ: LISP | 自然科学関連のスタブ項目