after over one year of constant development, reflected mostly by a
noticeable improvement in stability, version 2.6 of XSB, the tabled
logic programming and deductive database system, is finally here!
The system is available from http://xsb.sourceforge.net/, in both
source form and pre-compiled binaries for Windows.
See the release notes below for a list of outstanding changes and
XSB Version 2.6 (Duff)
Version 2.6 contains a number of changes, including new packages and
libraries for generation of manuals from code documentation and for
answer set programming. Version 2.6 also allows a user-modifiable
extension for byte-code files, whose default .xwam extension replaces
the previous .O extension. Existing features Version 2.6 have been
improved in various ways, from better exception handling, to a more
robust Windows implementation, to numerous bug-fixes. News
* The Chat engine has been removed. An optimized version of the
SLG-WAM is now the single engine supported in XSB. The garbage
collectors have been ported to this engine.
* Various aspects of XSB have been rewritten to support an
ISO-compatible error handling mechanism in which exceptional
conditions can be caught and handled by user programs.
* Fixed-depth indexing has been added for dynamic
predicates. Using fixed-depth indexing a term in a given arguments may
be indexed on the first five non-variable symbols. Multiple-argument
and alternative indices also work with fixed-depth indexing just as
they do with outer functor indexing.
* Full-word integers are now supported in XSB via an
implementation of boxed integers.
* Date and time routines have been added as standard predicates.
Packages and Libraries
* A new package, xsbdoc, has been added. xsbdoc supports a
"literate programming" style, in which code-level comments can be used
to generate manuals. It is based in part on Ciao system's lpdoc.
* The XASP package provides an efficient interface to SModels from
XSB. It is a significant rewrite of the previous SModels interface.
* An ODBC interface to MySQL is now supported under Linux. In
addition, Prolog terms can now be written to and read from database
* A new library, stdscan.P is provided containing a configurable
scanner for text parsing.
* Updates to the major packages, including Flora-2 and XMC.
* Stability of XSB on Windows has been improved in many ways, both
when XSB is compiled with Cygwin/GCC, and when compiled by native
windows compilers. These changes include a better configuration
mechanism for Windows, a robust XSB-calling-C interface, and better
support for gpp preprocessing of Prolog files. In addition, many
standard and library predicates have been stabilized for Windows,
including cputime/1, directory query routines, path and file handling,
the format.P library, and others.
* The build process has been fixed for 64-bit MIPS machine. XSB
should be easily portable to most 64-bit machines.
* Several bugfixes have been made for the CLP(R) package,
including expansion of math functions to include min/1, max/1, and
* Hashing function have been changed to provide better indexing of
* Various bugs in pathname handling were fixed, and differences in
pathname handling between Unix and Windows were minimized.
* Bugs closed since last release (see xsb.sf.net for more
information): #585031, #569972, #723875, #535270, #683785, #666940,
#637782, #635399, #524348, #626921, #449237, #706145, #641852,
#638830, #642024, #535257, #529566, #475363, #589668, #531264
* The object files now have the .xwam extension instead of the .O
* The xsb_undefined_predicate_hook has been deprecated. Instead,
XSB now throws the exception of the form
error(undefined_predicate(Name,Arity,ModName),ErrorMessage) when an
undefined predicate is called. This exception can be caught and
appropriate action can be taken.