Есть ли способ определить предикат автозапуска, который будет запускаться после загрузки файла?
Да, я знаю о swipl -s file.pl -g "main.", но все еще ищу что-то, что можно поместить в исходный файл file.pl
swipl -s file.pl -g "main."
file.pl
:- initialization(main).
Удостоверьтесь, что директива main всегда вызывает halt/0, иначе вы получите верхний уровень, если он потерпит неудачу. Или введите безусловный вызов halt/0:
main
halt/0
:- initialization(once(((main ; true), halt))).