This module provides help/1 and apropos/1 that give help on a topic or searches the manual for relevant topics.
By default the result of help/1
is sent through a pager such as
less. This behaviour is controlled by the following:
PAGER or otherwise tries
to find the less program.
program_name(Arg, ...).
For example, less('-r') would be the default. Note that the
program name can be an absolute path if single quotes are used.
topics(s) to give help for. Notations for What
are:
?- help(append).
/ Arity// Arity:Name:Name/Arityhelp/1 shows documentation from the manual as well as from loaded user code if the code is documented using PlDoc. To show only the documentatoion of the loaded predicate we may prefix predicate indicator with the module in which it is defined.
If an exact match fails this predicates attempts fuzzy matching and, when successful, display the results headed by a warning that the matches are based on fuzzy matching.
If possible, the results are sent through a pager such as the
less program. This behaviour is controlled by the Prolog
flag
help_pager. See section level documentation.
If the terminal supports hyperlinks (see the Prolog flag
hyperlink_term), the manual references in the page are
clickable. In an Epilog window, clicking one quits the pager and runs help/1
on the linked object.
:Textsection, cfunction, function,
iso_predicate, swi_builtin_predicate, library_predicate,
dcg and aliases chapter, arithmetic, c_function,
predicate, nonterminal and non_terminal.
For example:
?- apropos(c:close). ?- apropos(f:min).
Only the best limit matches are shown. Options:
If the terminal supports hyperlinks (see the Prolog flag
hyperlink_term), the matches are clickable and so is the
line that reports there are more matches. In an Epilog window, clicking
these runs help/1 on
the match or apropos/2
on the next page.
Name/Arity
for which documentation exists, HelpText is the documentation
in textual format (parsed from the HTML help).man: or apropos: link that was clicked
in an Epilog
Terminal. We quit the pager if it is still showing the page
the link was clicked in and let the terminal run help/1
on the linked object or continue the apropos/2
search.
The library(explain) describes prolog-terms. The most
useful functionality is its cross-referencing function.
?- explain(subset(_,_)).
"subset(_, _)" is a compound term
from 2-th clause of lists:subset/2
Referenced from 46-th clause of prolog_xref:imported/3
Referenced from 68-th clause of prolog_xref:imported/3
lists:subset/2 is a predicate defined in
/staff/jan/lib/pl-5.6.17/library/lists.pl:307
Referenced from 2-th clause of lists:subset/2
Possibly referenced from 2-th clause of lists:subset/2
Note that PceEmacs can jump to definitions and gxref/0 can be used for an overview of dependencies.
//Arity
Module:Property
or just Property. The qualified version limits the result to
predicates defined in Module. Supported properties are:
print_message(information, explain(Explanation)).