Предикат, который будет возвращать сумму четных чисел в списке:
sumsq_even([], 0).
sumsq_even([FirstNum|RestOfNums], Total) :-
sumsq_even(RestOfNums, TotalRest),
Total is FirstNum + TotalRest :- 0 is FirstNum mod 2, % Add Firstnum if it is even
Total is TotalRest :- 1 is FirstNum mod 2. % Dont add if firstnum is odd
Сначала мой код компилируется, но я получаю синтаксическую ошибку: конфликт приоритетов операторов в строке 4. Также при попыткезапрос:
sumsq_even([1,3,5,2,-4,6,8,-7], Total).
возвращает значение False, а не значение Total.Что я делаю не так?