我试图理解λ演算及其与语言、编译器和二进制代码的关系。λ演算等价于图灵机,它到底意味着什么,它在哪里体现出来?
我不明白λ演算如何取代图灵机成为计算理论模型。图灵机是关于按顺序执行指令以改变状态,而λ演算则是关于表达式求值得到某些东西。它更抽象,像是一种编程语言,而不是如何实际地计算某些东西,让事情发生的模型。或者这样说: λ演算就像路线图,图灵机就像汽车模型。这两个模型怎样等价?是否可能在不实现图灵机的情况下在硬件上运行软件?
比如,Lisp编译器和语言与λ演算有何关系?λ演算在哪一层中实现?实现是否符合λ演算的定义?λ演算背后的理论如何将语法转换成运行的二进制代码?例如,在λ演算中,数字被编码为应用到某个其他函数n次的特殊函数。然而,在语法中,我们使用数字字面量。所有这些公理在哪里使用?