## 2.6 Online Help

SWI-Prolog provides an online help system that covers this manual. If the XPCE graphics system is available, online help opens a graphical window. Otherwise the documentation is shown in the Prolog console. The help system is controlled by the predicates below. Note that this only help system only covers the core SWI-Prolog manual. The website8http://www.swi-prolog.org provides an integrated manual that covers the core system as well as all standard extension packages. It is possible to install the SWI-Prolog website locally by cloning the website repository git://www.swi-prolog.org/home/pl/git/plweb.git and follow the instructions in the `README` file.

help
  Equivalent to `help(help/1)`.
help(+What)
  Show specified part of the manual. What is one of:

  <Name>/<Arity> | Give help on specified predicate
  <Name> | Give help on named predicate with any arity or C interface function with that name
  <Section> | Display specified section. Section numbers are dash-separated numbers: `2-3` refers to section 2.3 of the manual. Section numbers are obtained using apropos/1.

  Examples:

  `?- help(assert).` | Give help on predicate assert
  `?- help(3-4).` | Display section 3.4 of the manual
  `?- help('PL_retry').` | Give help on interface function PL_retry()

  See also apropos/1 and the SWI-Prolog home page at http://www.swi-prolog.org, which provides a FAQ, an HTML version of the manual for online browsing, and HTML and PDF versions for downloading.

apropos(+Pattern)
  Display all predicates, functions and sections that have Pattern in their name or summary description. Lowercase letters in Pattern also match a corresponding uppercase letter. Example:

  `?- apropos(file).` | Display predicates, functions and sections that have `file' (or `File', etc.) in their summary description.

explain(+ToExplain)
  Give an explanation on the given `object'. The argument may be any Prolog data object. If the argument is an atom, a term of the form Name/Arity or a term of the form Module:Name/Arity, explain/1 describes the predicate as well as possible references to it. See also gxref/0.
explain(+ToExplain, -Explanation)
  Unify Explanation with an explanation for ToExplain. Backtracking yields further explanations.