有没有办法使用列表来表示lambda演算中的过程?

时间:2012-09-19 02:16:20

标签: scheme interpreter sicp

有一种叫做lambda calculus的简单语言,它是方案的一个子集。它在下面只有4个表达式。

exp : n (1 2 3)
 varref (variable reference)
 (lambda (x) body) (this is a procedure)
 (procedure argument) (this is a application which applies argument as real parameter to the procedure)

我正在为这种语言编写一个解释器。 Scheme将lambda表达式更改为scheme方案,我想用一个列表来替换它。谁能给我建议?

2 个答案:

答案 0 :(得分:3)

在尝试实现lambda-calculus解释器之前,您应该了解lambda演算。我认为你的第一步是写下lambda-calculus术语的例子,以及他们评估的内容。如果那是困难的事情,请告诉我;互联网上有足够的资源,可以帮助你理解lambda演算的术语以及它们减少的内容。

这是一个看似合理的话:

http://www.cs.bham.ac.uk/~udr/popl/handout1.pdf

一起

http://www.cs.bham.ac.uk/~udr/popl/handout2.pdf

答案 1 :(得分:0)

你能发布一些证明问题的特定代码吗? 也许我在这里完全被误解了,但我认为你应该有某种 读者为您的语言。当你启动它并读取它应该的lambda关键字 打电话给你的“实施”。

查看这篇精彩文章: lispy in chicken