Prolog:在多规则子句中对公共谓词进行分组

时间:2018-02-05 17:12:15

标签: optimization prolog

假设我在Prolog中有以下规则:

await

我是否应该执行以下操作来优化代码,或者编译器是否在这些情况下自行完成?

same_head():- same_costly_predicate(), a_predicate().
same_head():- same_costly_predicate(), another_predicate().

这是一个优化,因为在第一个代码块中,如果成功,则same_costly_predicate()将被计算两次。

是否有任何文章解释上述内容并帮助编写更有效的代码?

0 个答案:

没有答案