rep*_*eat 5 expression prolog iso-prolog
如何添加一个函数(例如,汉明重量)并在右侧出现的表达式中使用它是一些(is)/2目标?
(is)/2
像goal_expansion或term_expansion这样的东西可以帮助吗?
我承认这不是一个很大的功能,但它可以提高我的一些Prolog程序的可读性.
编写自定义(is)/2谓词(实现自定义表达式求值程序)是可行的,但我希望将运行时开销保持在较低水平,因为在这种情况下我不想牺牲运行时开销的可读性.
fal*_*lse 3
ISO Prolog 中没有这样的规定,既不扩展(is)/2也不依赖目标扩展。并且,查看一些实现为此目的提供的各种实现特定功能,没有普遍同意的方法来做到这一点。因此,实施自己的(my_is)/2似乎是最好的方法。
(my_is)/2
另请注意,这不仅会影响(is)/2,还会影响使用可评估函子的所有其他内置函数。特别是,所有算术比较内置函数(8.7 算术比较)(请参阅此概述)都会受到影响。
归档时间:
10 年,9 月 前
查看次数:
377 次
最近记录: