我试图围绕 lambda 演算,以及它与语言、编译器和二进制代码的关系。它实际上意味着什么 lambda 演算等同于图灵机,它实际上体现在哪里?
我不明白 lambda 演算如何取代图灵机作为计算的理论模型。图灵机是关于改变状态的顺序指令,lambda演算是关于表达式评估的东西。它更抽象,就像它自己的编程语言一样,而不是如何实际计算某些东西、让事情发生的模型。或者让我们这样说:λ演算就像路线图,而图灵机就像汽车模型。这两者如何被认为是等效的?是否可以在不实现图灵机的情况下在硬件上运行软件?
例如,lisp 编译器和语言如何与 lambda 演算相关?lambda演算在哪一层实现?就 lambda 演算的定义而言,实现是纯粹的吗?lambda 演算背后的理论在哪里以及如何将语法转换为运行的二进制文件?例如,在 lambda 演算中,数字被编码为特殊函数,应用于其他函数 n 次。然而在语法中,我们使用数字文字。所有这些公理都在哪里使用?