Я использую SWI Prolog для математической логической книги, а книга предоставила исходный код для некоторых алгоритмов в Prolog. Проблема заключается в том, что, когда я пытаюсь загрузить файл, интерпретатор просто подскажите что-то вроде:SWI Prolog secure_loaded error
load_files/2: No permission to load source `**' (Non-module file already loaded into module **; trying to load into io)
Я посмотрел в исходный код и обнаружил, что большинство файлов начинаются с:
:- module(**,[***]).
последовал по
user:file_search_path(common,'../common').
:- ensure_loaded(ops).
:- ensure_loaded(def).
и, кажется, что вызов ensure_loaded дважды тот же файл вызвал ошибку, и если некоторые из сказуемого в уже загруженной файл (ops.pl, например) не будет определенный в файле, который пытался загрузить его во второй раз.
Я попытался изменить security_loaded на use_module и проконсультироваться, но не работал.