SWI-Prolog has a mechanism for easy incorporation of community
extensions. See the pack
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
pack. The default for this search path is given below. See file_search_path/2 for the
The predicate attach_packs/0 is called on startup of SWI-Prolog.
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
warningbut 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.