6
私はPrologクエリの部分評価を書いています。私はexpand_goal/2
を使用してクエリを拡張しようとしたが、それは単に、この場合にOutput
でInput
を統合:SWI-Prologで部分評価を実装する
:- initialization(main).
main :-
Input=is_between(1,A,3),expand_goal(Input,Output),writeln(Output).
is_between(A,B,C) :-
B>A,B<C.
私もterm_expansion/2
を使用してみましたが、これはプログラムが失敗する:
:- initialization(main).
main :-
Input=is_between(1,A,3),term_expansion(Input,Output),writeln(Output).
is_between(A,B,C) :-
B>A,B<C.
SWI-Prologには、ここで実行しようとしたように、実行時にクエリのマクロ展開を実行できる組み込み述語がありますか?