【发布时间】:2015-02-03 17:59:53
【问题描述】:
datalog 是在集合还是多集合上运行?这同样适用于 prolog 吗?我无法找到任何相关文档。
【问题讨论】:
-
Prolog 具有用于处理多集的谓词,如果这是您所要求的(由谷歌搜索“prolog multiset”确定)。
-
感谢@ScottHunter。这是否意味着 prolog 默认在集合上运行?
-
Prolog 中的主要数据结构是 list,它通常像集合一样使用,但都允许重复并尊重顺序。
-
@ScottHunter:我认为 OP 询问了谓词的语义,比如
p(1). p(2). p(1).这里目标p(X)产生了一系列答案替换,比如X = 1 ; X = 2 ; X = 3. -
@ScottHunter list 不是 Prolog 中的主要数据结构。只是一种经常被误用和滥用的复合术语,尤其是新手程序员。