SWI-Prolog 7.3.1 Reference Manual
Jan Wielemaker
Department of Computer Science
VU University Amsterdam
De Boelelaan 1081a, 1081 HV  Amsterdam


Human-Computer Studies (HCS, formerly SWI)
Kruislaan 419, 1098 VA  Amsterdam
The Netherlands

Abstract
SWI-Prolog is a comprehensive and portable implementation of the Prolog programming language. SWI-Prolog aims to be a robust and scalable implementation supporting a wide range of applications. In particular, it ships with a wide range of interface libraries, providing interfaces to other languages, 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 multithreading and HTTP server libraries.

SWI-Prolog is designed in the `Edinburgh tradition'. In addition to the ISO Prolog standard it is largely compatible to Quintus, SICStus and YAP Prolog. SWI-Prolog provides a compatibility framework developed in cooperation with YAP and instantiated for YAP, SICStus and IF/Prolog.

SWI-Prolog aims at providing a good development environment, including extensive editor support, graphical source-level debugger, autoloading and `make' facility and much more. SWI-Prolog editor and the PDT plugin for Eclipse provide alternative environments.

This document gives an overview of the features, system limits and built-in predicates.

About this document

This manual is written and maintained using LaTeX . The LaTeX source is included in the source distribution of SWI-Prolog. The manual is converted into HTML using a converter distributed with the SWI-Prolog sources. From the same source we generate the plain-text version and index used by the online help system (located in the file MANUAL in the library directory) as well as the PDF version. Sources, binaries and documentation can be downloaded from the SWI-Prolog download page.

The SWI-Prolog project home page is located here

This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.