自然数の次の手順は SWI-prolog です。
natural_number(0).
natural_number(s(X)) :- natural_number(X).
ここで、0 に到達すると停止する再帰呼び出しを実行したいと考えています。
私の自然数は -s(0)=0, s(s(0))=1, s(s(s(0)))=2, etc
だから私は定義します:
recommend(A, B, natural_number(0)) :-
dosomeFINITEfunction (a,b).
recommend(a,b,mynumber):-
dosomeFINITEfunction(a,b),
recommend (a,b, natural_number(mynumber)).
と呼び出します:3,5,s(0).
しかし、それは私にエラーを与えます: out of local stack
。
何が問題ですか?ありがとうございました。