Home Research XSB System Contact Us

About XSB

Tabled Resolution

Tabled resolution is useful for recursive query computation, allowing programs to terminate correctly in many cases where Prolog does not. Users interested in Parsing, Program Analysis, Model-checking, Data Mining, Diagnosis and Temporal Reasoning may benefit from XSB.

Support for Multi-Threading

Beginning with Version 3.0, XSB supports a configuration that allows multiple threads of computation within a single process under the Posix model.

Indexing and Dynamic Code

XSB contains a variety of features to support in-memory data-oriented applications. Using these features, knowledge bases with millions of clauses can be quickly loaded and efficiently indexed.


XSB supports a variety of interfaces. All source code is available so that the interfaces can be tuned as needed or ported to other Prologs. (as some have been!)

HiLog Compilation

HiLog supports a type of higher-order programming in which predicate symbols can be variable or structured. This allows unification to be performed on the predicate symbols themselves in addition to the arguments of the predicates.

XSB's HiLog implementation:


In addition to those mentioned above, several important packages are maintained on top of XSB, inlcuding

XSB has been tested on over a dozen hardware and operating system platforms under Microsoft Windows 95/98, Windows NT, Windows 2000 and various versions of 32-bit UNIX. XSB also has also been ported to 64-bit architectures and has been tested on 64-bit SGI machines and linuxes. Various versions of XSB have been used to construct large-scale commercial systems for the U.S. Customs Service, the U.S. Defense Logistics Agency, the National Security Agency, Medicine Rules, Inc, MdLogix Inc., and many others.

Email: xsb-users@lists.sourceforge.net
Last modified: $Id: about.html,v 1.7 2010-08-19 15:03:36 spyrosh Exp $