SWI-Prolog has a mechanism for easy incorporation of community
extensions. See the http://www.swi-prolog.org/pack/listpack landing page
for details and available packs. This section documents the built-in
predicates to attach packs. Predicates for creating, registering and
installing packs are provided by the library
library(prolog_pack).
pack. The default for this search path is:
user:file_search_path(pack, app_data(pack)). user:file_search_path(pack, swi(pack)).
The predicate attach_packs/0 is called on startup of SWI-Prolog.
attach_packs(Directory,[]).
last). Using
first, new packages are added at the start.warning, which prints a warning and
ignores the new pack. Other options are keep, which is like warning
but operates silently and replace, which detaches the old
pack and attaches the new.
The predicate attach_packs/2 can be used to attach packages that are bundled with an application.