SECD抽象机
維基百科,自由的 encyclopedia
SECD机是有高度影响力的一种虚拟机和抽象机器,它意图用作函数式编程语言编译器的编译目标。四个字母分别表示:Stack、Environment、Control、Dump,它们是这个机器的内部寄存器。寄存器Stack、Control和Dump指向堆栈(的某种实现),而Environment指向关联数组(的某种实现)。
这个机器是第一个专门设计用来求值lambda演算表达式的机器。它最初描述于Peter J. Landin的1964年论文《表达式的机器求值》中[1]。Landin发表的描述非常抽象,留下了很多实现选择待定(就像一种操作语义)。因此SECD机经常以一种更具体的形式出现,比如Peter Henderson的LispKit Lisp编译器,它自从1980年开始发行。自此它已经被用作了一些其他的实验编译器的目标。