XSB2C-1 18Dec1940
   HOME

TheInfoList



OR:

XSB is the name of a dialect of the
Prolog Prolog is a logic programming language that has its origins in artificial intelligence, automated theorem proving, and computational linguistics. Prolog has its roots in first-order logic, a formal logic. Unlike many other programming language ...
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
and its implementation developed at
Stony Brook University Stony Brook University (SBU), officially the State University of New York at Stony Brook, is a public university, public research university in Stony Brook, New York, United States, on Long Island. Along with the University at Buffalo, it is on ...
in collaboration with the
Katholieke Universiteit Leuven KU Leuven (Katholieke Universiteit Leuven) is a Catholic research university in the city of Leuven, Belgium. Founded in 1425, it is the oldest university in Belgium and the oldest university in the Low Countries. In addition to its main camp ...
, the
New University of Lisbon NOVA University Lisbon (, ), or just NOVA, is a Portuguese public university whose rectorate is located in Campolide, Lisbon. Founded in 1973, it is the newest of the public universities in the Portuguese capital city, earning its name as the " ...
,
Uppsala University Uppsala University (UU) () is a public university, public research university in Uppsala, Sweden. Founded in 1477, it is the List of universities in Sweden, oldest university in Sweden and the Nordic countries still in operation. Initially fou ...
and software vendor XSB, Inc. XSB extends Prolog with tabled resolution and
HiLog HiLog is a programming logic with higher-order syntax, which allows arbitrary terms to appear in predicate and function positions. However, the model theory of HiLog is first-order. Although syntactically HiLog strictly extends first order logic, Hi ...
.


Features

XSB is a
compiled In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
dialect of Prolog based on the
Warren Abstract Machine In 1983, David H. D. Warren designed an abstract machine for the execution of Prolog consisting of a memory architecture and an instruction set. This design became known as the Warren Abstract Machine (WAM) and has become the ''de facto'' standard ...
. Unlike systems derived from
Quintus Quintus is a male given name derived from ''Quintus (praenomen), Quintus'', a common Latin language, Latin forename (''praenomen'') found in the culture of ancient Rome. Quintus derives from Latin word ''quintus'', meaning "fifth". Quintus is ...
, XSB uses a module system based on Prolog atoms. It features tabled resolution and supports the
HiLog HiLog is a programming logic with higher-order syntax, which allows arbitrary terms to appear in predicate and function positions. However, the model theory of HiLog is first-order. Although syntactically HiLog strictly extends first order logic, Hi ...
language (permitting limited
higher-order logic programming Logic programming is a programming paradigm, programming, database and knowledge representation paradigm based on formal logic. A logic program is a set of sentences in logical form, representing knowledge about some problem domain. Computation is ...
). Tabling enables XSB to implement the
well-founded semantics In computer science, the well-founded semantics is a three-valued semantics for logic programming, which gives a precise meaning to general logic programs. History The well-founded semantics was defined by Van Gelder, et al. in 1988. The Prolog ...
and makes it suitable as a
deductive database A deductive database is a database system that can make deductions (i.e. conclude additional facts) based on rules and facts stored in its database. Datalog is the language typically used to specify facts, rules and queries in deductive database ...
engine. The
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
XSB implementation includes an interface to the Python programming language.


History

XSB was originally developed at Stony Brook University by David S. Warren, Terrance Swift, and Kostis Sagonas and launched in 1993-4. It was based on the SB-Prolog language that was also developed at Stony Brook University in 1986, and it was the first implementation of tabled resolution.


Syntax

XSB supports the ISO-mandated Prolog data types such as
integers An integer is the number zero (0), a positive natural number (1, 2, 3, ...), or the negation of a positive natural number (−1, −2, −3, ...). The negations or additive inverses of the positive natural numbers are referred to as negative in ...
,
floating point numbers In computing, floating-point arithmetic (FP) is arithmetic on subsets of real numbers formed by a ''significand'' (a signed sequence of a fixed number of digits in some base) multiplied by an integer power of that base. Numbers of this form ...
, and
atoms Atoms are the basic particles of the chemical elements. An atom consists of a nucleus of protons and generally neutrons, surrounded by an electromagnetically bound swarm of electrons. The chemical elements are distinguished from each other ...
. Integers in XSB can be interpreted in multiple bases. By default integers are interpreted in
base 10 The decimal numeral system (also called the base-ten positional numeral system and denary or decanary) is the standard system for denoting integer and non-integer numbers. It is the extension to non-integer numbers (''decimal fractions'') of t ...
but can be interpreted in a range of bases from 2 to 36.


See also

*
Comparison of Prolog implementations The following Comparison of Prolog implementations provides a reference for the relative feature sets and performance of different implementations of the Prolog computer programming language. A comprehensive discussion of the most significant Pro ...
*
Prolog syntax and semantics The syntax and semantics of Prolog, a programming language, are the sets of rules that define how a Prolog program is written and how it is interpreted, respectively. The rules are laid out in ISO standard ISO/IEC 13211''ISO/IEC 13211: Informat ...


References


Further reading

* *


External links

*
xsb git repo


Prolog programming language family {{Compu-lang-stub