我正在努力寻找如何在Lambda中表达一个问题。
也许在搜索中错了? 据我所知,在Lambda演算中,我们可以定义参数,操作等。 例如: TRUE:=λx.λy.x FALSE:=λx.λy.y AND:=λp.λq.pqp OR:=λp.λq.ppq 等。
我想知道,即使在理论上,也有办法用lambda计算一个问题。
即。一个无聊/抽象的问题,如:
问题:= TheLambda_expression
什么可以算作一个问题 - 必须有一个函数,没有?
有什么想法吗?线索?
干杯,非常感谢!
答案 0 :(得分:0)
您正在寻找的是谓词,这只是一个正式形式的问题,其答案/答案是YES(True)或NO(False)。
查看http://en.wikipedia.org/wiki/Lambda_calculus#Logic_and_predicates上的逻辑和谓词部分。
答案 1 :(得分:0)
您的最新评论让我觉得您想知道如何阅读用户输入(即"向用户询问问题")。如果这不是您的意思,请随时进一步澄清。
lambda演算没有IO的概念 - 只有带参数的函数。因此,您不是要求用户输入,而是编写一个将所需信息作为参数的函数。
让我们考虑以下示例:用户可以订购包含N块肉和任选汤的食物,并且我们想要以美元计算总价。每块肉花费2美元,汤花费1美元。为了表示这一点,我们编写了一个函数,它接受布尔值soup
,它表示用户是否想要汤,以及数字pieces_of_meat
,它表示用户想要多少块肉:
λ soup. λ meat. meat * 2 + (soup 0 1)