lambda 演算中的表达式

expressions in lambda calculus

我正在努力寻找如何在 Lambda 中表达问题,但失败了..

可能是我搜索错了? 据我了解,在 Lambda 演算中,我们可以定义参数、操作等。 例如: 真 := λx.λy.x 假 := λx.λy.y AND := λp.λq.p q p 或者 := λp.λq.p p q 等..

我想知道,即使在理论上,有一种方法可以用 lambda 计算问题。

即一个 anonnymous/abstract 问题,例如:

问题 := The_Lambda_expression

什么可以计算为问题 - 必须有一个函数,不是吗??

有什么想法吗?线索?

干杯,非常感谢!

您要查找的似乎是 谓词,这不过是 response/answer 为 YES(真)或 NO(错误)。

查看 http://en.wikipedia.org/wiki/Lambda_calculus#Logic_and_predicates 中的逻辑和谓词部分。

你最近的评论让我觉得你想知道如何阅读用户输入(即 "ask the user a question")。如果这不是您的意思,请随时进一步澄清。

lambda 演算本身没有 IO 的概念 - 只有带参数的函数。因此,您可以编写一个函数,将所需信息作为其参数,而不是要求用户输入。

让我们考虑以下示例:用户可以订购包含 N 块肉和可选汤的餐点,我们想要以美元计算总价。每块肉两块钱,汤一块钱。为了表示这一点,我们编写了一个函数,它接受布尔值 soup,表示用户是否想要汤,以及数字 pieces_of_meat,表示用户想要多少块肉:

λ soup. λ meat. meat * 2 + (soup 0 1)