Я пытаюсь установить пакет (sldnfdraw) в SWI-Prolog, но не могу найти способ указать каталог установки (т.е. куда я хочу его установить).
документация, кажется, указывает, что можно выбрать каталог пакета, но мне не повезло в этом. По общему признанию, я довольно новичок в Прологе и могу упустить что-то очевидное. Тем не менее, я безуспешно искал ответы во всех обычных местах (переполнение стека, документация).
Я попытался установить пакет sldnfdraw, вызвав pack_install(sldnfdraw).. Это создало бы каталог на $HOME/lib/swipl/pack. Затем я попробовал различные воплощения pack_install(sldnfdraw, $PREF_DIR)., где $PREF_DIR — это абсолютный путь к каталогу, в который я хотел установить пакет. В документации упоминается некоторый способ передачи параметров функциям, но не указан метод для этого. Учитывая ограниченные ресурсы, доступные на Прологе (и этой конкретной реализации), я оказался в тупике. Надеюсь, кто-то может указать мне в правильном направлении.
Еще один трюк: загрузите пакет в любую папку, которую вы хотите, а затем создайте символическую ссылку на каталог пакета по умолчанию.





Функция указания каталога установки — package_directory/1. Чтобы использовать это вместе с pack_install/2, мне нужно было заключить его в скобки. Поэтому запрос на установку пакета sldnfdraw в каталог $PREF_DIR выглядит так:
pack_install(sldfndraw, [package_directory($PREF_DIR)]).
Интересно: библиотека prolog_pack: менеджер пакетов для Prolog