38

纯无类型 lambda 演算是一个强大的概念。然而,为实际使用构建机器或解释器通常被描述为(几乎)不可能。我想对此进行调查。理论上是否可以构建一个相对快速的无类型 lambda 演算机?

相对较快,我通常是指在相似数量的资源(门、操作、物理空间、功耗等)内,在相似的任务范围内,与现代类似图灵的架构相当。

我对机器的实现和架构层没有任何限制,除了它必须以某种方式在物理上和某种程度上可以现实地实现。对如何处理 IO 也没有限制。

  • 如果可能,主要挑战是什么?
  • 如果不可能,为什么以及如何?
  • 该领域的研究现状如何?
  • 哪些领域和科目最相关?

关于基于 lambda 演算的计算机体系结构的可行性,我们了解多少?

涵盖相似领域的问题:

4

1 回答 1

22

首先,即使在现有架构上,也可以有效地将 lambda 演算编译为机器代码。毕竟,scheme 是 lambda 演算加上一点额外的,它可以高效地编译。然而,scheme & co 是经过严格评估的 lambda 演算。也可以在非严格评估下高效地编译 lambda 演算!关于这一点,请参阅 SPJ 的两本书了解一些背景:http ://research.microsoft.com/en-us/um/people/simonpj/papers/papers.html

另一方面,如果我们构建为函数式语言设计的硬件,我们可以将代码编译到该硬件并且确实做得很好,这也是事实。我所知道的最好的新东西是 Reduceron:http ://www.cs.york.ac.uk/fp/reduceron/

Reduceron 的性能非常引人注目,其关键在于它是围绕并行图缩减构建的,旨在利用在缩减 lambda 演算方程时明确显示的并行性机会。

于 2011-05-18T17:02:44.310 回答