... system1.1
Many of the Prolog components of XSB are originally based on PSB-Prolog [53], which itself is based on version 2.0 of SB-Prolog [18].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... interface,1.2
InterProlog is available at www.declarativa.com/InterProlog/default.htm.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... results).2.1
This convention does not apply to the subdirectories of the examples directory, which illustrate advanced features of XSB.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... symbols 3.1
Operator symbols can be exported as any other symbols, but their precedence must be redeclared in the importing module.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...usermod3.2
The standard predicates of XSB are listed in $XSB_DIR/syslib/std_xsb.P.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... XSB3.3
Any parallelisation directives (parallel) are simply ignored by the compiler, but do not result in syntax errors to enhance compatibility with various other earlier versions of PSB-Prolog.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... systems3.4
The most common uses of mode declarations in Prolog systems are to reduce the size of compiled code, or to speed up a predicate's execution.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... factoring:3.5
Unification factoring was once called transformational indexing, hence the abbreviation ti in the compiler directives
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...C5.1
We use the term ``answer set'' to describe the set of answers associated with a given subgoal during a given state of computation. As such, it has no relation to the use of the term ``answer set'' in the non-monotonic literature.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... HREF="node72.html#sec:table-aggregation">5.45.2
We also note that the library subsumes contains routines for checking variance and subsumption.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... aborted5.3
A more sophisticated solution is proposed in [46].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... release6.1
We also note that the ISO Prolog evaluable functors sign/1, float_round/1, float_truncate/1, float_integer_part/1 and float_fractional_part/1 are not implemented in Version 2.5.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... module6.2
The only limitation is that blah must indeed be a module in the sense that it exports at least one symbol.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 0}.9.1
A term like
{foo} is just a syntactic-sugar for the term
'{}'(foo).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... brackets.9.2
Readers familiar with Quintus Prolog may notice the difference in the treatment of the various kinds of not. For example, in Quintus Prolog a not/1 that is not enclosed within curly brackets is interpreted as a non-terminal grammar symbol.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.