Thom Frühwirth, Leslie De Koninck, Markus Triska, Marcus Uneson.
Textbook, ISBN 978-3-84-822617-7, 2012.
|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.|
|Initialising and Managing a Prolog Project|
|Special Variables and Coroutining|
|CHR: Constraint Handling Rules|
|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.