CMU Artificial Intelligence Repository
XSB Prolog: Prolog extended with OLDT (tabling) and Hilog
XSB is a Prolog-based Logic Programming System that extends the
standard functionality of Prolog with an implementation of OLDT
(tabling) and HiLog terms. XSB includes an optimizing compiler, C
interface, a module system, list processing libraries, and dynamic
loading. It is a descendent of PSB-Prolog and SB-Prolog.
OLDT 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, and memory-resident
Deductive Database applications may benefit from XSB.
XSB's OLDT implementation:
o Is incorporated at the emulator level for maximal efficiency.
The speed improvement over meta-interpreters written by
the XSB group is 2-3 orders of magnitude, with considerable
improvements in space as well.
o Evaluates programs with (left-to-right modularly) stratified
negation and aggregation.
o Allows for declaration of tabled predicates either
automatically by the system or manually by the user.
o Provides standard tabling predicates which can be used to
program a number of applications like meta-interpreters for
the well-founded semantics (provided as an example program).
o Allows full Prolog functionality in tabled code, including
cuts (subject to weak semantic restructions), meta-logical
predicates, second-order predicates, etc.
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:
o Includes a fully integrated HiLog preprocessor. HiLog terms can
be used anywhere in XSB, including the interpreter level.
o Provides a number of meta-logical standard predicates for
Compiler optimizations for HiLog terms are currently under development.
Version: 1.3 (14-SEP-93)
Requires: GNU C compiler.
Ports: XSB runs on Sun3, Sun4, 386/486 PCs (Linux and 386 BSD),
SGI machines (IRIX), HP 300/400 series (HP-UX) and NeXT,
and can be compiled using either the GNU C compiler or
the Sun C compiler. Porting XSB to any 32-bit machine
running Unix should be straightforward.
THIS IS A BETA RELEASE.
Copying: Copyright (c) 1986, 1993 SUNY at Stony Brook, 1990 ECRC
Use, copying, modification, and distribution permitted,
under a GPL-style license. (See the license.txt file for
CD-ROM: Prime Time Freeware for AI, Issue 1-1
Author(s): Professor David S. Warren, Terrance Swift, Kostis Sagonas
Contact: XSB Research Group
Computer Science Department
SUNY at Stony Brook
Stony Brook, NY 11794-4400
Authors!Sagonas, Authors!Swift, Authors!Warren,
Compilers!Prolog, Datalog, Deductive Database, HiLog,
Interpreters!Prolog, Nonmonotonic Logic,
Programming Languages!Prolog, Prolog!IBM PC,
Prolog!Implementations, Prolog!UNIX, SB-Prolog,
SUNY/Stony Brook, XSB
Last Web update on Mon Feb 13 10:35:18 1995