XSB
{{For|the Philippine language with this language code|Sambal language}}
{{Infobox programming language
| name = XSB
| logo =
| logo caption =
| screenshot =
| screenshot caption =
| file ext = .P
| paradigm = Logic Programming
| scope =
| released =
| designer = David S. Warren, Terrance Swift, Kostis Sagonas
| developer =
| latest release version = 5.0
| latest release date = {{start date and age|2022|05|12|df=yes}}
| latest preview version =
| latest preview date =
| typing =
| implementations =
| dialects =
| influenced by = Prolog, PSB-Prolog, SB-Prolog
| influenced =
| programming language =
| platform =
| operating system = Cross-platform
| license =
| website = {{URL|xsb.sf.net}}
| wikibooks =
}}
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.
Features
XSB is a compiled dialect of Prolog based on the Warren Abstract Machine. Unlike systems derived from Quintus, XSB uses a module system based on Prolog atoms. It features tabled resolution and supports the HiLog language (permitting limited higher-order logic programming). Tabling enables XSB to implement the well-founded semantics and makes it suitable as a deductive database engine.{{Cite contribution |year=2019 |title=Performance Analysis and Comparison of Deductive Systems and SQL Databases |encyclopedia=Datalog 2.0 2019 |url=https://ceur-ws.org/Vol-2368/paper3.pdf |last1=Brass |first1=Stefan |editor-last=Alviano |editor-first=Mario |series=CEUR Workshop Proceedings |volume=2368 |pages=27{{endash}}38 |last2=Wenzel |first2=Mario}} The open source XSB implementation includes an interface to the Python programming language.{{Citation |last1=Andersen |first1=Carl |title=The Janus System: A Bridge to New Prolog Applications |date=2023 |url=http://dx.doi.org/10.1007/978-3-031-35254-6_8 |work=Prolog: The Next 50 Years |pages=93–104 |access-date=2023-11-14 |place=Cham |publisher=Springer Nature Switzerland |isbn=978-3-031-35253-9 |last2=Swift |first2=Theresa|doi=10.1007/978-3-031-35254-6_8 |url-access=subscription }}
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.{{Cite journal |last1=Körner |first1=Philipp |last2=Leuschel |first2=Michael |last3=Barbosa |first3=João |last4=Costa |first4=Vítor Santos |last5=Dahl |first5=Verónica |last6=Hermenegildo |first6=Manuel V. |last7=Morales |first7=Jose F. |last8=Wielemaker |first8=Jan |last9=Diaz |first9=Daniel |last10=Abreu |first10=Salvador |last11=Ciatto |first11=Giovanni |date=November 2022 |title=Fifty Years of Prolog and Beyond |journal=Theory and Practice of Logic Programming |language=en |volume=22 |issue=6 |pages=776–858 |doi=10.1017/S1471068422000102 |issn=1471-0684|doi-access=free |arxiv=2201.10816 }}
Syntax
XSB supports the ISO-mandated Prolog data types{{Broken anchor|date=2025-01-14|bot=User:Cewbot/log/20201008/configuration|target_link=Prolog#data type|reason=Anchor "Prolog#data type" links to a specific web page: "Data type". }} 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.{{Cite book |last1=Swift |first1=Theresa |title=The XSB System Version 5.0.x Programmer's Manual |last2=Warren |first2=David S. |date=13 May 2022}}
See also
References
{{Reflist}}
Further reading
- {{Cite book |last=Warren |first=David |url=https://www.swi-prolog.org/download/publications/tabling-book.pdf |title=Programming in Tabled Prolog |year=2020 |edition=Draft}}
- {{Cite journal |last1=Swift |first1=Terrance |last2=Warren |first2=David S. |date=2012 |title=XSB: Extending Prolog with Tabled Logic Programming |url=https://www.cambridge.org/core/product/identifier/S1471068411000500/type/journal_article |journal=Theory and Practice of Logic Programming |language=en |volume=12 |issue=1–2 |pages=157–187 |doi=10.1017/S1471068411000500 |issn=1471-0684|arxiv=1012.5123 |s2cid=6153112 }}
External links
- {{sourceforge|xsb}}
- [https://sf.net/p/xsb/code/ xsb git repo]
- [https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/prolog/impl/prolog/sbprolog/0.html Information on Stony Brook Prolog]
Category:Prolog programming language family
{{Compu-lang-stub}}