SWI-Prolog 5.6.52 Reference Manual
Jan Wielemaker Human-Computer Studies (HCS, formerly SWI) Kruislaan 419, 1098 VA Amsterdam The Netherlands Tel. (+31) 20 5256121
Abstract
SWI-Prolog started life in 1986 as a Prolog in the Edinburgh tradition. Its development has been guided from the very beginning by the desire to build large scale applications in Prolog. For this reason it stresses connectivity to the C-language, few system limits, comprehensive memory management, modules, multi-threading, coroutining, constraints and a fast and interactive development environment. Portable libraries for graphics, databases, networking, web-services, XML, RDF and many more complete the system.

SWI-Prolog is compliant to part one of ISO standard Prolog. In addition it provides functionality compatible to Quintus, SICStus, LPA, Ciao and many more.

Since version 5 the system and all bundled extensions are distributed under the Lesser General Public License (LGPL) and the system enjoys attention from a large community of academic researchers, students and commercial users.

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

Copyright © 1990-- 2008 , University of Amsterdam