prolog - 为什么Prolog ','运算符是右结合的,而它是从左到右处理的

标签 prolog

在 prolog 中,',' 运算符的类型为 xfy,因此是右结合的,而一系列由逗号分隔的术语将从左到右处理。那为什么算符右结合呢?

最佳答案

我认为这只是术语上的细微差别。如果我们查询 SWI-Prolog 的相关细节

?- current_op(P,A,(,)).
P = 1000,
A = xfy.

?- write_canonical((a,b,c)).
','(a,','(b,c))

我们确认“右结合”只是正确表达结构的(有争议的?)语言描述,它允许我们通过简单的左递归访问该术语。

逻辑阅读显然是合适的:a,b,c 为真,我们需要 a 为真 b,c 为真。

关于prolog - 为什么Prolog ','运算符是右结合的,而它是从左到右处理的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69274015/

相关文章:

Prolog:指示 OR 规则中哪个谓词为真

shell - 如何通过 shell 调用在 SWI-Prolog 中显示带有多个自由变量的模式匹配目标的结果?

prolog - 在 Prolog 中使用写入谓词时出错

prolog - (Prolog) 检查一个列表是否可以分成两个总和相等的子列表

prolog - 唯一长度的子列表

reflection - SWI Prolog 中的变量名

list - 生成列表 - 几何级数

prolog - 如何通过prolog处理公式?

prolog - 如何阻止序言无限地检查不可能的解决方案?

prolog - 取出倒数第二个元素 - Prolog