如何阅读Prolog文档?

时间:2018-02-07 20:42:28

标签: prolog interpretation

例如,如果我在Prolog REPL中输入yum -y localinstall --nogpgcheck some-package-1.0.0.rpm ,会弹出一个窗口,其中包含一些文档,第一行显示为yum -y localinstall --nogpgcheck some-package-2.0.0.rpm

  1. 模板,目标和包只是名称,还是可以系统研究的正式类型? (在第一种情况下,我将不得不依赖help(bagof).的文档来理解它们;在后一种情况下,我可以参考其他一些文档。)

  2. 在哪里可以找到参数前面标点符号的文档? (在这种情况下,标点符号包含符号bagof(+Template, :Goal, -Bag)bagof+,但我已经看过其他符号。)

1 个答案:

答案 0 :(得分:4)

TemplateGoal等只是这些参数的名称。有时,它们会给出相应参数的预期类型的一些指示。例如,Goal通常表示类型为callable的参数。像List这样的名称通常表示列表,依此类推。

+:等是模式指标并表示预期的实例化模式:

引自http://eu.swi-prolog.org/pldoc/man?section=modes

++  Argument is ground at call-time, i.e., the argument does not contain a variable anywhere.
+   Argument is fully instantiated at call-time, to a term that satisfies the type. etc.
-   Argument is an output argument. etc.
--  Argument is unbound at call-time. etc.
?   Argument is bound to a partial term of the indicated type at call-time. etc.
:   Argument is a meta-argument. Implies +.
etc.

最常用的模式指标是+-?

另请注意,记录谓词的这些属性有不同的约定和细微变化,这些属性也在文献和某些系统的文档中使用。