Добавить элемент в пустой список в Прологе - PullRequest
0 голосов
/ 30 ноября 2018

Мне нужно добавить элементы в пустой список в прологе, но я попадаю в бесконечный цикл.Это мой код:

dot_product([],[],0).

dot_product([M|Ms],[N|Ns],Sum) :-
    dot_product(Ms,Ns,S),
    Sum is S+M*N.

add_tail([],X,[X]).

add_tail([H|T],X,[H|L]):-
    add_tail(T,X,L).

row([],[],[]).
row(RI,[],[]).
row(RI,[Y|O],R) :-
    dot_product(RI,Y,R1),
    add_tail([],R1,R),
    row(RI,O,R).  

Пример ввода:

?-row([1,2],[[1,2],[3,4]],R). 

Ожидаемый результат:

R=[5,11] 

, но вместо этого он входит в бесконечный цикл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...