数学内部谓词标题

时间:2016-11-08 19:23:15

标签: prolog

有没有办法让这项工作?

add(X, X + 1)

输入:add(1,Y)。
预期产出:Y = 2 输出:Y = 1 + 1。

或者只能这样做吗?

add(X, Y):- Y is X+1.

1 个答案:

答案 0 :(得分:3)

历史上,已经有许多尝试提供此功能。让我尽早举例CLP(ℜ)(约1986年)或最近的Prolog IV。然而,迟早,人们意识到程序员需要更好地控制所采用的统一类型。以一个想要区分公式的程序为例。在那种情况下,解释函子将没有任何用处。出于这个原因,今天大多数约束作为一些添加的谓词出现,使得仿函数无法解释。通过这种方式,它们也适用于ISO-Prolog,它允许约束作为扩展。

从程序员的角度来看,你的扩展会减少所需的辅助变量的数量,但是,它还需要解释所有这些术语,这会产生很多额外的开销。

相关问题