Нет процедуры 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. Я заметил, что для каждой встроенной функции это показывает ошибку. Есть ли что-то, что я могу написать в коде, который может помочь мне со встроенными функциями?

0 ответов

Другие вопросы по тегам