我有下一个自然数的程序是 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
。
问题是什么?谢谢你。