Czytałem odpowiedź na this pytanie p(X) :- read(A), q(A,X-[]).
q(end,X-X) :- !.
q(A,[A|X]-Y) :- read(B), q(B,X-Y).
Powyższy kod używa składnia List-List. W pewnym stopniu rozumiem, co się dzieje
Zacząłem uczyć się prologu i chciałem, aby cale rzeczy były wyraźniejsze. Czytałem, że "zielone cięcie nie zmienia deklaratywnego znaczenia programu, natomiast czerwone cięcie". Ale znaczenie tego pro
I wprowadziły następujące funkcję w prologu z następującego kodu: abs2(X, Y) :- X < 0, Y is -X.
abs2(X, X) :- X >= 0, !.
Jak mogę wdrożyć tę funkcję bez użycia cięcia („!”)?