Нет процедуры usermod: length/2 существует
Я новичок в прологе и пытаюсь написать программу для удаления каждого N-го элемента списка. Вот код, который я написал
delete(L, N, R) :-
N > 0,
( N1 is N - 1, length(Begin, N1), append(Begin, [_|Rest], L) ->
delete(Rest, N, RestNew), append(Begin, RestNew, R)
;
R = L
).
Ошибка для встроенных функций.
:-delete([1,2,3,4],2,X).
| ?-
++Error[XSB/Runtime/P]: [Existence (No procedure usermod : length / 2 exists)] []
Forward Continuation...
... machine:xsb_backtrace/1 From C:\Program Files (x86)\XSB\syslib\machine.xwam
... length/2 From unknown
... x_interp:_$call/1 From C:\Program Files (x86)\XSB\syslib\x_interp.xwam
Редактировать: я использую плагин Eclipse ProDT для запуска их на GUI. Я заметил, что для каждой встроенной функции это показывает ошибку. Есть ли что-то, что я могу написать в коде, который может помочь мне со встроенными функциями?