File: check.doc

package info (click to toggle)
swi-prolog 5.0.0-2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 5,048 kB
  • ctags: 6,747
  • sloc: ansic: 52,452; perl: 13,276; sh: 2,646; makefile: 516; awk: 14
file content (38 lines) | stat: -rw-r--r-- 1,668 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
\libdoc{check}{Elementary completeness checks}

This library defines the predicate check/0 and a few friends that allow
for a quick-and-dirty cross-referencing.

\begin{description}
    \predicate{check}{0}{}
Performs the three checking passes implemented by list_undefined/0,
list_autoload/0 and list_redefined/0.  Please check the definition
of these predicates for details.

The typical usage of this predicate is right after loading your program
to get a quick overview on the completeness and possible conflicts in
your program.

    \predicate{list_undefined}{0}{}
Scans the database for predicates that have no definition.  A predicate
is considered defined if it has clauses, is declared using dynamic/1 or
multifile/1.  As a program is compiled calls are translated to
predicates.  If the called predicate is not yet defined it is created
as a predicate without definition. The same happens with runtime
generated calls.  This predicate lists all such undefined predicates
that are not defined in the library.  See also list_autoload/0.

Note: undefined predicates are never removed from the database.  For
proper results it is therefore adviced to run check/0 right after
loading your program.

    \predicate{list_autoload}{0}{}
Lists all undefined (see list_undefined/0) predicates that have a
definition in the library along with the file from which they will
be autoloaded when accessed.  See also autoload/0.

    \predicate{list_redefined}{0}{}
Lists predicates that are defined in the global module \const{user}
as well as in a normal module.  I.e.\ predicates for which the local
definition overrules the global default definition.
\end{description}