University of Amsterdam Kruislaan 419, 1098 VA Amsterdam VU University Amsterdam De Boelelaan 1081a, 1081 HV Amsterdam The Netherlands SWI-Prolog 5.8 Reference Manual Updated for version 5.8.1, November 2009 Jan Wielemaker
[email protected] http://www.swi-prolog.org SWI-Prolog is a Prolog implementation based on a subset of the WAM (Warren Ab- stract Machine). SWI-Prolog was developed as an open Prolog environment, providing a powerful and bi-directional interface to C in an era this was unknown to other Prolog implementations. This environment is required to deal with XPCE, an object-oriented GUI system developed at SWI. XPCE is used at SWI for the development of knowledge- intensive graphical applications. As SWI-Prolog became more popular, a large user-community provided requirements that guided its development. Compatibility, portability, scalability, stability and provid- ing a powerful development environment have been the most important requirements. Edinburgh, Quintus, SICStus and the ISO-standard guide the development of the SWI- Prolog primitives. This document gives an overview of the features, system limits and built-in predicates. Copyright c 1990–2009, University of Amsterdam Contents 1 Introduction 10 1.1 SWI-Prolog....................................... 10 1.1.1 Books about Prolog............................... 10 1.2 Status.......................................... 11 1.3 Compliance to the ISO standard............................ 11 1.4 Should you be using SWI-Prolog?........................... 11 1.5 The XPCE GUI system for Prolog........................... 12 1.6 Release Notes...................................... 13 1.7 Donate to the SWI-Prolog project........................... 19 1.8 Acknowledgements................................... 19 2 Overview 21 2.1 Getting started quickly................................