很难说出这里问的是什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或言辞激烈,无法以目前的形式合理回答。为了帮助澄清这个问题,以便它可以重新打开, visit the help center




10年前关闭。




如果您定期编写 Prolog 程序,您可能拥有自己一直依赖的谓词库。一些 Prolog 系统带有一组丰富的预定义谓词,而另一些则没有。有些系统有库,但它们大多与其他系统不兼容。此外,许多现有的库包含许多很少需要的谓词。但是,有几个谓词“应该”始终存在。然后,自 11 月 like thisCor.2 ( draft ) 以来发生了一些进展。为什么不在这里呢?

那么你最喜欢的谓词是什么?即谓词,未在 ISO 核心中定义。

开始: between/3 , member/2 , length/2 , dif/2 , 0x2518122413 ...

对于 DCG: maplist/2seq//1iseq//1

编辑:Prolog 序言的初稿可以在 here 找到!

编辑:如果您希望重新打开此问题,请投票重新打开,但也有助于重新表述问题,以免再次关闭。

最佳答案

很好的问题。除了 member/2length/2maplist/2 (您已经建议)之外,我还推荐 transpose/2 ,就像在 Haskell 中一样。还有 memberchk/2select/3append/3 。为了帮助用户进行调查,您能否提供一个 Prolog 程序,该程序可以逐项处理给定的 Prolog 文件(逐个子句),记录它定义的谓词,跟踪它调用的谓词,并从中(可能可选地)减去它显式导入的库提供的谓词?在多个源文件上运行这样的程序可以为 Prolog 的有用“prolog”库提供一个很好的起点。

关于prolog - Prolog 的序言?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6454022/

10-16 14:20