# Publications about SWI-Prolog This used to be Jan Wielemaker's publication list about SWI-Prolog. The time has come to add publications by others that target SWI-Prolog. Publications on this page should either explain some part of SWI-Prolog or explain how the system can be/has been used effectively. If you use SWI-Prolog and write academic publications, please consider citing one of these papers. The [[star.gif]]-ed TPLP paper _|SWI-Prolog|_ is the preferred `general purpose reference' [[BibTeX][]]. * [Boolean constraints in SWI-Prolog: A comprehensive system description](https://www.metalevel.at/boolean.pdf) Markus Triska, Science of Computer Programming, Volume 164, 2018 [BibTeX](https://www.metalevel.at/boolean.bib) * [Lock-free atom garbage collection for multithreaded Prolog](http://dx.doi.org/10.1017/S1471068416000272) Jan Wielemaker and Keri Harris [BibTeX](http://dblp.uni-trier.de/rec/bib2/journals/tplp/WielemakerH16.bib) * [The Boolean Constraint Solver of SWI-Prolog](https://www.metalevel.at/swiclpb.pdf) Markus Triska, FLOPS-2016 [BibTeX](https://www.metalevel.at/swiclpb.bib) * [SWISH: SWI-Prolog for Sharing](https://research.vu.nl/en/publications/swish-swi-prolog-for-sharing) Jan Wielemaker, Torbjörn Lager and Fabrizio Riguzzi, IULP-2015, [BibTeX](http://dblp.uni-trier.de/rec/bibtex/journals/corr/WielemakerLR15) * [Pengines: Web Logic Programming Made Easy](http://dx.doi.org/10.1017/S1471068414000192) Torbjörn Lager and Jan Wielemaker, ICLP-2014 [[BibTeX][]] * [SWI-Prolog version 7 extensions]() Jan Wielemaker, CICLOPS/WLPE-2014 [[BibTeX][]] * [Correctness Considerations in CLP(FD) Systems](https://www.metalevel.at/drt.pdf) Markus Triska. PhD thesis explaining CLP(FD) as bundled with SWI-Prolog. [BibTeX](https://www.metalevel.at/drt.bib) * [Why It's Nice to be Quoted: Quasiquoting for Prolog]() Jan Wielemaker and Michael Hendricks, accepted for WLPE-2013 [[BibTeX][]] * [Extending the logical update view with transaction support](http://arxiv.org/abs/1301.7669) Jan Wielemaker CICLOPS-12 [[BibTeX][]] * [[Syntactic integration of external languages in Prolog][]] Jan Wielemaker and Nicos Angelopoulos WLPE-12. [[BibTeX][]] * [Delimited Continuations for Prolog]() Tom Schrijvers, Bart Demoen, Benoit Desouter and Jan Wielemaker. [BibTeX]() * [The Finite Domain Constraint Solver of SWI-Prolog](https://www.metalevel.at/swiclpfd.pdf) Markus Triska, FLOPS-2012 [BibTeX](https://www.metalevel.at/swiclpfd.bib) * [[Portability of Prolog programs: theory and case-studies][http://dx.doi.org/10.1007/978-3-642-18378-2_8]] Jan Wielemaker and Vitor Santos Costa. PADL-11. Updated version of CICLOPS-10 paper with the same title. [[BibTeX][]] * [[SWI-Prolog][http://dx.doi.org/10.1017/S1471068411000494]] Jan Wielemaker, Tom Schrijvers, Markus Triska, Torbjörn Lager. TPLP. [[BibTeX][]] [[star.gif]] * [[Coding Guidelines for Prolog][http://arxiv.org/abs/0911.2899]] Michael A. Covington, Roberto Bagnara, Richard A. O'Keefe, Jan Wielemaker, Simon Price. Submitted to TPLP. [[BibTeX][]] * [[Portability of Prolog programs: theory and case-studies][]] Jan Wielemaker and Vitor Santos Costa. CICLOPS-10 [[BibTeX][]] * [[Precise Garbage Collection in Prolog][]] Jan Wielemaker and Ulrich Neumerkel CICLOPS-08. [[BibTeX][]] * [[Thesaurus-Based Search in Large Heterogeneous Collections][]], ISWC-08, [[BibTeX][]] * [[Using Prolog as the fundament for applications on the semantic web][]], ALPSWS-07, [[BibTeX][]] * [[PlDoc: Wiki style Literate Programming for Prolog][]], WLPE-07, [[BibTeX][]] * [[SWI-Prolog and the Web][]], TPLP [[BibTeX][]] * [[Using triples for implementation: the Triple20 ontology-manipulation tool][]], ISWC-05 [[BibTeX][]] * [[An optimised Semantic Web query language implementation in Prolog][]], ICLP-05 [[BibTeX][]] * [[Constraint Handling Rules for SWI-Prolog][]], Tom Schrijvers, Jan Wielemaker and Bart Demoen, Workshop on (Constraint) Logic Programming, Ulm, February, 2005 * [[Native Preemptive Threads in SWI-Prolog][]], ICLP-03, [[BibTeX][]] * [[An Overview of the SWI-Prolog Programming Environment][]], WLPE-03 [[BibTeX][]] * [[Prolog-based Infrastructure for RDF: Scalability and Performance][]], ISWC-03 [[BibTeX][]] * [[An Architecture for Making Object-Oriented Systems Available from Prolog][]], WLPE-02 [[BibTeX][]] Jan Wielemaker's PhD thesis, titled [[Logic programming for knowledge-intensive interactive applications][]] (4.4MB) contains revised versions of most of the above papers supplemented with a broader overview of applying Prolog for the development of large-scale applications. [[BibTeX][]] ---++ Invited Talks * _|Enabling serendipitous search on the Web of Data using Prolog|_ Invited tutorial, ICPL-09, Pasadena. Discusses using Prolog for RDF handling and using Prolog as a webserver. [[OpenOffice][]] [[PowerPoint][]] * _|25 years of SWI-Prolog|_ Special event, ICPL-12, Budapest. Provides a historical overview of SWI-Prolog, the state of Prolog in general and models for sharing interfaces, design and code within the Prolog community. [[OpenOffice][]] [[PowerPoint][]] * [LTC 2017, Poznań, Poland](http://ltc.amu.edu.pl/) Invited talk and tutorials in memorial of [Alain Colmerauer](https://en.wikipedia.org/wiki/Alain_Colmerauer) - [[A second life for Prolog][]] (invited talk) - Tutorials - [[Declarative programming][]] - [[Algorithm = Logic + Control][]] - [[Prolog as unifying framework][]] ## SWI-Prolog's origin SWI-Prolog 0.0.0 was based on [[A Portable Prolog Compiler][]] by D.L. Bowen, L.H. Byrd and W.F. Clocksin. ## Papers using SWI-Prolog * [Tartarus: A Multi-agent Platform for Integrating Cyber-Physical Systems and Robots](https://dl.acm.org/doi/10.1145/2783449.2783469), Tushar Semwal, Manoj Bode, Vivek Singh, Shashi Shekhar Jha, and Shivashankar B. Nair. AIR-2015. [Video](https://www.youtube.com/watch?v=VeryfhtT5Tk), [Github](https://github.com/roboticslab-cseiitg/ProjectTartarus) * [TARTARUS: A Multi-Agent Platform for Bridging the Gap between Cyber and Physical Systems (Demonstration)](https://dl.acm.org/doi/10.5555/2936924.2937224), Tushar Semwal, Nikhil S., Shashi Shekhar Jha, and Shivashankar B. Nair. AAMAS-2016. * [AgPi: Agents on Raspberry Pi](https://www.mdpi.com/2079-9292/5/4/72), Tushar Semwal, and Shivashankar B. Nair. MDPI Electronics 2016. * [On Ordering Multi-Robot Task Executions within a Cyber Physical System](https://arxiv.org/abs/1803.04781), Tushar Semwal, Shashi Shekhar Jha, Shivashankar B. Nair. ACM TAAS 2017.