首页 文章
  • 0 votes
     answers
     views

    prolog atom concat swi和yap prolog

    输入: run([p(X,Y,Z),h(Z,P,Q)],Out). 码: :- ensure_loaded(library(lists)). run([X|Y],Out) :- X =.. [Fct|Args], X =..Total, length(Args,L), concat(abs_,L,Fct_A), Out =.. [Fct_A|Total]. 在s...
  • 3 votes
     answers
     views

    制作适用于GNU和SWI的Prolog代码

    我意识到这将有限制,但有没有合理的方法在Prolog代码中放入条件指令,以便它在GNU或SWI中合理地工作?我在考虑至少最简单的情况,其中内置谓词如SWI中的 sumlist 和GNU中的 sum_list 在拼写中彼此不匹配 . 或者SWI有 assert 但GNU没有 . 所以有这样的东西会很好: :- if($SWI). SWI version of stuff :- else. GNU v...
  • 7 votes
     answers
     views

    swi-prolog和yap的结果不同

    示例程序枚举并计算8-queen解决方案的数量 . (对不起代码很难读;这是从S表达式机器生成的 . 原始代码是https://www.cpp.edu/~jrfisher/www/prolog_tutorial/2_11.html) 规则: [user]. (perm([X|Y],Z) :- (perm(Y,W),takeout(X,Z,W))). perm([],[]). takeout(X,...

热门问题