Jump to content

XSB

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Rofraja (talk | contribs) at 16:41, 7 September 2023 (Fix bare URLs references, add title). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

XSB
ParadigmLogic Programming
Designed byDavid S. Warren, Terrance Swift, Kostis Sagonas
DeveloperXSB Research Group
Stable release
5.0 / 12 May 2022; 2 years ago (2022-05-12)
OSCross-platform
Filename extensions.P
WebsiteSourceforge.net
Influenced by
Prolog, PSB-Prolog, SB-Prolog

XSB is the name of a dialect of the Prolog programming language and its implementation developed at Stony Brook University in collaboration with the Katholieke Universiteit Leuven, the New University of Lisbon, Uppsala University and software vendor XSB, Inc.

XSB extends Prolog with tabled resolution and HiLog.

The open source XSB implementation includes an interface to the Java programming language.

Features

XSB features tabled resolution and supports the HiLog language (a standard extension of Prolog permitting limited higher-order logic programming). Tabling enables XSB to implement the well-founded semantics and makes it suitable as a deductive database engine.

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,[1][2] and it was the first implementation of tabled resolution.

Syntax

XSB supports several standard programming language data types such as Integers, Floating Point numbers, and Atoms.

Integers in XSB can be interpreted in multiple bases. By default integers are interpreted in base 10 but can be interpreted in a range of bases from 2 to 36.[3]

Atoms are similar to Strings. They are a sequence of characters.

References

  1. ^ "The XSB System Version 2.2 - Volume 1: Programmer's Manual" (PDF). Retrieved 2023-09-07.
  2. ^ "Package: Lang/Prolog/Impl/Prolog/Sbprolog/".
  3. ^ "Integers".

Bibliography

  1. Swift, Terrance; Warren, David S. (2012). "XSB: Extending Prolog with Tabled Logic Programming". Theory and Practice of Logic Programming. 12 (1–2): 157–187. arXiv:1012.5123. doi:10.1017/S1471068411000500. ISSN 1471-0684. S2CID 6153112.
  2. Sagonas, Konstantinos; Swift, Terrance; Warren, David S. (1994-05-24). "XSB as an efficient deductive database engine". ACM SIGMOD Record. 23 (2): 442–453. doi:10.1145/191843.191927. ISSN 0163-5808.
  3. Körner, Philipp; Leuschel, Michael; Barbosa, JoãO; Costa, VíTor Santos; Dahl, VeróNica; Hermenegildo, Manuel V.; Morales, Jose F.; Wielemaker, Jan; Diaz, Daniel; Abreu, Salvador; Ciatto, Giovanni (2022). "Fifty Years of Prolog and Beyond". Theory and Practice of Logic Programming. 22 (6): 776–858. doi:10.1017/S1471068422000102. hdl:10174/33387. ISSN 1471-0684. S2CID 247159044.