Теперь я хотел бы запустить tarai, который читается на Прологе следующим образом. Тестовым примером будет запуск ?- tarai(12,6,0,X)
. Это довольно сложный тестовый пример, например, GNU Prolog дает сбой в этом тестовом примере.
tarai(X, Y, Z, R) :-
X > Y ->
X1 is max(0,X-1), tarai(X1, Y, Z, Rx),
Y1 is max(0,Y-1), tarai(Y1, Z, X, Ry),
Z1 is max(0,Z-1), tarai(Z1, X, Y, Rz),
tarai(Rx, Ry, Rz, R);
R = Y.
Меня больше всего интересует, можно ли запустить тестовый пример с полностью декларативной версией некоторого кода miniKanren для tarai. При желании мне было бы интересно запустить некоторые тестовые случаи назад.
Я немного в растерянности. Мне удалось установить guile, вариант схемы, и я могу успешно запустить тестовые примеры miniKanren. Но в miniKanren нет целых чисел, так что же делать?