Go to the first, previous, next, last section, table of contents.
The Prolog library comprises a number of packages which are thought to
be useful in a number of applications. Note that the predicates in the
Prolog library are not built-in predicates. One has to explicitly load
each package to get access to its predicates. The following packages
are provided:
arrays
-
provides an implementation of extendible arrays with logarithmic access
time.
assoc
-
uses AVL trees to implement "association lists", i.e. extendible
finite mappings from terms to terms.
atts
-
provides a means of associating with variables arbitrary attributes,
i.e. named properties that can be used as storage locations as well as
hooks into Prolog's unification.
heaps
-
implements binary heaps, the main application of which are priority queues.
lists
-
provides basic operations on lists.
terms
-
provides a number of operations on terms.
ordsets
-
defines operations on sets represented as lists with the elements ordered
in Prolog standard order.
queues
-
defines operations on queues (FIFO stores of information).
random
-
provides a random number generator.
system
-
provides access to operating system services.
trees
-
uses binary trees to represent non-extendible arrays with logarithmic
access time. The functionality is very similar to that of
library(arrays), but library(trees) is slightly more
efficient if the array does not need to be extendible.
ugraphs
-
provides an implementation of directed and undirected graphs with
unlabeled edges.
wgraphs
-
provides an implementation of directed and undirected graphs where
each edge has an integral weight.
sockets
-
provides an interface to system calls for manipulating sockets.
linda/client
-
linda/server
-
provides an implementation of the Linda concept for process communication.
db
-
provides storage and retrieval of terms on disk files with user-defined
multiple indexing.
clpb
-
provides constraint solving over Booleans.
clpq
-
clpr
-
provides constraint solving over Q (Rationals) or R (Reals).
clpfd
-
provides constraint solving over Finite (Integer) Domains
chr
-
provides Constraint Handling Rules
objects
-
provides the combination of the logic programming and the
object-oriented programming paradigms.
gcla
-
is a specification tool that is based on
Generalized Horn Clause Language, a generalization of Prolog.
tcltk
-
An interface to the Tcl/Tk language and toolkit.
gauge
-
is a profiling tool for Prolog programs with a graphical interface based
on
tcltk.
charsio
-
defines I/O predicates that read from, or write to, a list of character codes.
jasper
-
An interface to the Java language.
flinkage
-
is a utility program for generating glue code for the Foreign Language
Interface when building statically linked Runtime Systems or Development
Systems.
timeout
-
provides a way of running goals with an execution time limit.
xref
-
provides a cross reference producer for debugging and program analysis.
To load a library package Package, you will normally enter a query
| ?- use_module(library(Package)).
A library package normally consists of one or more hidden modules.
An alternative way of loading from the library is using the built-in
predicate require/1 (see section Reading-in Programs). The index file
`INDEX.pl' needed by require/1 can be created by the
make_index program. This program is loaded as:
| ?- use_module(library(mkindex)).
make_index:make_library_index(+LibraryDirectory)
-
Creates a file `INDEX.pl' in LibraryDirectory. All
`*.pl' files in the directory and all its subdirectories are
scanned for
module/2 declarations. From these declarations, the
exported predicates are entered into the index.
Go to the first, previous, next, last section, table of contents.