「SECDマシン」の版間の差分

削除された内容 追加された内容
編集の要約なし
しまあじ (会話 | 投稿記録)
m C:CITE分類-履歴2010年8月16日03:56(UTC)付け
1行目:
'''SECDマシン'''とは、[[関数型言語]]のコンパイラで使用することを目的として開発され、後に影響を与えた[[抽象機械]]である。SECD は '''S'''tack(スタック)、'''E'''nvironment(環境)、'''C'''ode(コード)、'''D'''ump(ダンプ)の略であり、それぞれ仮想機械にあるレジスタの名称となっている。これらのレジスタはメモリ上の[[連結リスト]]を指している。
 
この仮想機械は当初、[[ラムダ計算]]式を評価する目的で設計されたもので、{{要出典範囲|[[1963年]] Peter J. Landin が [[ISWIM]] という言語を設計する作業の一貫として行った|date=2010年8月}}。Landin の発表した説明は非常に抽象的で、([[操作的意味論]]のように)実装にかなりの自由度が与えられていた。SECDマシンはより詳細化された形態で説明されることが多く、例えば Peter Henderson の Lispkit Lisp コンパイラは SECDマシンをベースとして[[1980年]]に登場している。以降、いくつかの実験的コンパイラが SECDマシンをターゲットとして使用してきた。
 
[[1989年]]、[[カルガリー大学]]の研究者がSECDマシンをハードウェアで実装する研究を行った。