Пролог: Почему я продолжаю получать ожидаемую ошибку оператора, как я могу это исправить?

#prolog #syntax-error #clpfd

Вопрос:

Ожидаемая ошибка оператора

Я новичок в прологе и пытаюсь понять, как исправить эту ошибку. В этом коде возникает проблема:

 
% Checks if the sum constraint of a cage is met.
sum(S, S, [], _).
sum(SumOfCells, S, [RowIndex-ColIndex|Lt], T) :-
    nth(RowIndex, T, Row), nth(ColIndex, Row, CellVal),
    NewSum #= SumOfCells   CellVal, sum(NewSum, S, Lt, T).

 

«Синтаксическая ошибка: ожидаемый оператор».

Насколько я понимаю, я объявил переменную NewSum и пытаюсь установить ее равной сумме SumOfCells и CellVal. Можете ли вы помочь мне определить, что я сделал не так и как я могу это исправить?

Комментарии:

1. Ты действительно употребляешь gnu-prolog ? Это работает на меня. Если вы действительно используете swi-prolog , вам нужно загрузить library(clpfd) .

2. Этот снимок экрана похож на тот, с swish которого начинается swi-prolog .