- note-1
-
Quintus is a trademark of Quintus Computer Systems Inc., USA
- note-2
-
BIM is a trademark of BIM sa/nv., Belgium
- note-3
-
One could choose words, defining words as a sequence of alpha-numeric
characters and the word separators as anything else, but one could also
choose Prolog arguments
- note-4
-
This implies the system can run out of local stack in debug mode, while
no problems arise when running in non-debug mode.
- note-5
-
These marks do notx suggest instantiation (e.g. var(+Var)).
- note-6
-
It does work for consult, but makes it impossible to compile programs
into a stand alone executable (see section 2.10)
- note-7
-
In fact the variables are compared on their (dereferenced) addresses.
Variables living on the global stack are always < than
variables on the local stack. Programs should not rely on the order in
which variables are sorted.
- note-8
-
Note that the definition has changed since version 2.0.6. See release
notes.
- note-9
-
BUG: The system should have a special type for pointers, thus avoiding
the Prolog user having to worry about consistency matters. Currently
some simple heuristics are used to determine whether a reference is
valid.
- note-10
-
Note that Edinburgh Prolog defines fileerrors/0
and nofileerrors/0. As this
does not allow you to switch back to the old mode I think this
definition is better.
- note-11
-
In version 1.2 instantiation faults led to error messages. The new
version can be used to do type testing without the need to catch illegal
instantiations first.
- note-12
-
The instantiation pattern (-, +, ?) is an extension to `standard'
Prolog.
- note-13
-
Future versions probably will provide a more logical variant of this
predicate.
- note-14
-
Please note that the semantics have changed between 3.1.1 and 3.1.2
- note-15
-
On Windows, the home directory is determined as follows: if the
environment variable
HOME
exists, this is used. If the
variables HOMEDRIVE
and HOMEPATH
exist
(Windows-NT), these are used. At initialisation, the system will set the
environment variable HOME
to point to the SWI-Prolog home
directory if neither HOME
nor HOMEPATH
and HOMEDRIVE
are defined
- note-16
-
BUG: Some of the file-I/O predicates use local filenames. Using chdir/1
while file-bound streams are open causes wrong results on telling/1, seeing/1
and current_stream/3
- note-17
-
BUG: Erased clauses which could not actually be removed from the
database, because they are active in the interpreter, will never be
garbage collected after an abort.
- note-18
-
A similar facility was added to Edinburgh C-Prolog by Wouter Jansweijer.
- note-19
-
show_profile/1
is defined in Prolog and takes a considerable amount of memory.
- note-20
-
This interface is contributed by Don Dwiggins.
- note-21
-
BUG: I plan to supply a real gensym/2
which does give this warrant for future versions.
- note-22
-
Although this would make it impossible to call B directly.
- note-23
-
The system version uses recordz/2
and recorded/3.
- note-24
-
The system also contains code to load
.o
files directly for
some operating systems, notably Unix systems using the BSD a.out
executable format. As the number of Unix platforms supporting this gets
quickly smaller and this interface is difficult to port and slow, it is
no longer described in this manual. The best alternatively would be to
use the dld package on machines do not have
shared libraries
- note-25
-
Do not pass the integer 0 for normal operation, as this is interpreted
as
PL_Q_NODEBUG
for backward compatibility reasons.
- note-26
-
This interface differs in two ways from Quintus. The calling predicates
simp,y signal failure if an exception was raised, and a term referenced
is returned, rather passed and filled with the error term. Exceptions
can only be handled using the PL_next_solution()
interface, as a handle to the query is required