SWI Prolog

Reference Manual 6.2.2

Jan Wielemaker
Thom Frühwirth, Leslie De Koninck, Markus Triska, Marcus Uneson.
Textbook, ISBN 978-3-84-822617-7, 2012.

Buy worldwide, e.g. at amazon.co.uk, amazon.com, amazon.de.

eBook-Edition available, for example for iTunes, for Kindle at amazon.co.uk, amazon.com, amazon.de, or as epub file, EAN 9783848272648.

SWI-Prolog offers a comprehensive and portable free-software Prolog programming environment for more than 25 years now. It is widely used in research and education as well as for commercial applications. This is the official reference manual for the latest version of SWI-Prolog.
SWI-Prolog aims to be a robust and scalable implementation closely compatible to the ISO Prolog standard. It ships with a wide range of interface libraries, providing interfaces to other languages such as C and Java, databases, graphics and networking. It provides extensive support for managing HTML/SGML/XML and RDF documents. The system is particularly suited for server applications due to robust support for multi threading and HTTP server libraries.
The SWI-Prolog development environment includes extensive editor support, graphical source-level debugger, autoloading and make facility. The SWI-Prolog editor and the PDT plugin for Eclipse provide alternative environments.
This comprehensive manual gives an overview of the system and how to set-up programming projects with it, it describes the built-in predicates, module system, coroutining, threads, the Constraint Handling Rules library, the foreign language interface and how to generate runtime applications.

Reference Manual Contents

Initialising and Managing a Prolog Project
Built-in Predicates
Special Variables and Coroutining
CHR: Constraint Handling Rules
Multi-threaded Applications
Foreign Language Interface
Generating Runtime Applications
Appendix A The SWI-Prolog library
Appendix B Hackers Corner
Appendix C Compatibility with other Prolog Dialects
Appendix D Glossary of Terms
Appendix E SWI-Prolog License Conditions and Tools
Appendix F Summary



Jan Wielemaker is the lead developer of SWI-Prolog. He started the development in 1986 and released the first version through FTP in 1987. Since then, he further developed SWI-Prolog, both in the context of academic research projects at the University of Amsterdam and by integrating contributions from the user community. He received a PhD from the University of Amsterdam in 2009 on a thesis named "Logic programming for knowledge-intensive interactive applications". Since 2009, he works the VU University of Amsterdam.

Thom Fruehwirth is a Professor of Computer Science at the University of Ulm, Germany. He is the designer of the declarative programming language Constraint Handling Rules (CHR) and the main author of two books on constraint logic programming and reasoning.

Thom Frühwirth, Amira Zaki, updated November 6, 2012