Did you know ... Search Documentation:
Title for pldoc(dir_index)

SWI-Prolog: A comprehensive Prolog implementation

Forking, cloning and submitting patches

This repository uses many Git submodules. This causes the common issue that fork and clone doesn't work. Instead, clone from https://github.com/SWI-Prolog/swipl-devel.git and then associate your clone with your fork (replace me with your github user name).

git clone https://github.com/SWI-Prolog/swipl-devel.git
cd swipl-devel
git submodule update --init
git remote add myfork git@github.com:me/swipl-devel.git

See How to submit a patch for details.

See also the discussion at Being friendly to quick contributions


See CMAKE.md and Build SWI-Prolog from source

Web home

Please find the up-to-date information on SWI-Prolog at https://www.swi-prolog.org.


Documentation is available from several locations and in several formats.

  • Paper format can be ordered as print on demand and is available as PDF from the download page.
  • Several tutorials can be accessed from the Tutorials menu on the home page
  • A HTML version of the documentation is in the doc/Manual directory of the installation. Note that some packagers put this documentation elsewhere or require it to be installed separately.

You can also install the website locally to use its complete functionality if you are offline. It is available at https://github.com/SWI-Prolog/plweb.

Prolog files

swipl.rc  -- Associate XPCE with SWI-PrologShow source