【发布时间】:2013-06-10 23:57:39
【问题描述】:
我知道这会有限制,但是有没有一种合理的方法可以在 Prolog 代码中放入条件指令,以便在 GNU 或 SWI 中合理地工作?我在考虑至少最简单的情况,其中内置谓词(例如 SWI 中的 sumlist 和 GNU 中的 sum_list )在拼写上不匹配。或者 SWI 有 assert 但 GNU 没有。所以最好有类似的东西:
:- if($SWI).
SWI version of stuff
:- else.
GNU version of stuff
:- endif.
或者简单地说:
:- if(not_a_builtin(sumlist))
sumlist(L, S) :- sum_list(L, S).
:- endif.
或者什么不是。两种语言中都存在条件指令,但似乎没有提供执行此类操作所需的条件。我可能遗漏了一些手动搜索没有出现的东西。
【问题讨论】:
标签: prolog swi-prolog portability gnu-prolog iso-prolog