SWI-Prolog 7.4.2 Reference Manual
mailto:J.Wielemaker@vu.nlJan 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 http://www.swi-prolog.org/Download.htmlSWI-Prolog download page .

The SWI-Prolog project home page is http://www.swi-prolog.orghttp://www.swi-prolog.org

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.