SECD抽象機

SECD機是有高度影響力的一種虛擬機和抽象機器 ， 它意圖用作函數式編程語言編譯器的編譯目標 。 四個字母分別表示 ： Stack 、 Environment 、 Control 、 Dump ， 它們是這個機器的內部寄存器 。 寄存器Stack 、 Control和Dump指向堆棧 （ 的某種實現 ） ， 而Environment指向關聯數組 （ 的某種實現 ） 。 這個機器是第一個專門設計用來求值lambda演算表達式的機器 。 它最初描述於Peter J. Landin的1964年論文 《 表達式的機器求值 》 中 。 Landin發表的描述非常抽象 ， 留下了很多實現選擇待定 （ 就像一種操作語義 ） 。 因此SECD機經常以一種更具體的形式出現 ， 比如Peter Henderson的LispKit Lisp編譯器 ， 它自從1980年開始發行 。 自此它已經被用作了一些其他的實驗編譯器的目標 。 在1989年卡爾加里大學的研究者製作了這個機器的一個硬件實現 。