XSB: Difference between revisions
→History: Add citation |
Update interface statement and move to "Features" |
||
Line 31: | Line 31: | ||
XSB extends Prolog with [[Tabled logic programming|tabled resolution]] and [[HiLog]]. |
XSB extends Prolog with [[Tabled logic programming|tabled resolution]] and [[HiLog]]. |
||
The [[open source]] XSB implementation includes an [[foreign function call|interface]] to the [[Java (programming language)|Java programming language]]. |
|||
== Features == |
== 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. |
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]]<ref name=":0" /> and makes it suitable as a [[deductive database]] engine.<ref>{{Cite journal |last=Sagonas |first=Konstantinos |last2=Swift |first2=Terrance |last3=Warren |first3=David S. |date=1994-05-24 |title=XSB as a deductive database |url=http://dx.doi.org/10.1145/191843.191970 |journal=ACM SIGMOD Record |volume=23 |issue=2 |pages=512 |doi=10.1145/191843.191970 |issn=0163-5808}}</ref> The [[open source]] XSB implementation includes an interface to the Python programming language.<ref>{{Citation |last=Andersen |first=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}}</ref> |
||
==History== |
==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,<ref>{{cite web|url=http://www.cs.sunysb.edu/~sbprolog/manual/manual1.pdf |access-date=2023-09-07| title=The XSB System Version 2.2 - Volume 1: Programmer's Manual }}</ref><ref>{{cite web | url=https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/prolog/impl/prolog/sbprolog/0.html | title=Package: Lang/Prolog/Impl/Prolog/Sbprolog/ }}</ref> and it was the first implementation of tabled resolution.<ref>{{Cite journal |last=Körner |first=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=2022-11 |title=Fifty Years of Prolog and Beyond |url=https://www.cambridge.org/core/journals/theory-and-practice-of-logic-programming/article/fifty-years-of-prolog-and-beyond/3A5329B6E3639879301A6D44346FD1DD |journal=Theory and Practice of Logic Programming |language=en |volume=22 |issue=6 |pages=776–858 |doi=10.1017/S1471068422000102 |issn=1471-0684}}</ref> |
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,<ref>{{cite web|url=http://www.cs.sunysb.edu/~sbprolog/manual/manual1.pdf |access-date=2023-09-07| title=The XSB System Version 2.2 - Volume 1: Programmer's Manual }}</ref><ref>{{cite web | url=https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/prolog/impl/prolog/sbprolog/0.html | title=Package: Lang/Prolog/Impl/Prolog/Sbprolog/ }}</ref> and it was the first implementation of tabled resolution.<ref name=":0">{{Cite journal |last=Körner |first=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=2022-11 |title=Fifty Years of Prolog and Beyond |url=https://www.cambridge.org/core/journals/theory-and-practice-of-logic-programming/article/fifty-years-of-prolog-and-beyond/3A5329B6E3639879301A6D44346FD1DD |journal=Theory and Practice of Logic Programming |language=en |volume=22 |issue=6 |pages=776–858 |doi=10.1017/S1471068422000102 |issn=1471-0684}}</ref> |
||
==Syntax== |
==Syntax== |
Revision as of 10:56, 14 November 2023
Paradigm | Logic Programming |
---|---|
Designed by | David S. Warren, Terrance Swift, Kostis Sagonas |
Developer | XSB Research Group |
Stable release | 5.0
/ 12 May 2022 |
OS | Cross-platform |
Filename extensions | .P |
Website | Sourceforge.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.
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[1] and makes it suitable as a deductive database engine.[2] The open source XSB implementation includes an interface to the Python programming language.[3]
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,[4][5] and it was the first implementation of tabled resolution.[1]
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.[6]
Atoms are similar to Strings. They are a sequence of characters.
External links
- XSB
- XSB technical summary
- Programming in Tabled Prolog: draft of a book about XSB programming by David S. Warren of Stony Brook University
- The XSB System Programmer's Manual by Terrance Swift, David S. Warren, and others
- Information on Stony Brook Prolog
References
- ^ a b 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-11). "Fifty Years of Prolog and Beyond". Theory and Practice of Logic Programming. 22 (6): 776–858. doi:10.1017/S1471068422000102. ISSN 1471-0684.
{{cite journal}}
: Check date values in:|date=
(help) - ^ Sagonas, Konstantinos; Swift, Terrance; Warren, David S. (1994-05-24). "XSB as a deductive database". ACM SIGMOD Record. 23 (2): 512. doi:10.1145/191843.191970. ISSN 0163-5808.
- ^ Andersen, Carl; Swift, Theresa (2023), "The Janus System: A Bridge to New Prolog Applications", Prolog: The Next 50 Years, Cham: Springer Nature Switzerland, pp. 93–104, ISBN 978-3-031-35253-9, retrieved 2023-11-14
{{citation}}
: no-break space character in|title=
at position 30 (help) - ^ "The XSB System Version 2.2 - Volume 1: Programmer's Manual" (PDF). Retrieved 2023-09-07.
- ^ "Package: Lang/Prolog/Impl/Prolog/Sbprolog/".
- ^ "Integers".
Bibliography
- 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.
- 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.
- 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.