Did you know ... Search Documentation:
Download SWI-Prolog stable versions

linux.png Linux versions are often available as a package for your distribution. We collect information about available packages and issues for building on specific distros here. We provide a PPA for Ubuntu and snap images

windows.jpg Please check the windows release notes (also in the SWI-Prolog startup menu of your installed version) for details.

WIP.png Examine the ChangeLog.


Binaries
Windows version (64-bits)11,825,869 bytesSWI-Prolog 8.2.3-1 for Microsoft Windows (64 bit)

Self-installing executable for Microsoft's Windows 64-bit editions. Requires at least Windows 7. See the reference manual for deciding on whether to use the 32- or 64-bits version. This binary is linked against GMP 6.1.1 which is covered by the LGPL license.

SHA256:b4297d1d60ce050daf0d07764487370ef475cad70b54a96b074f83138d792cd6
Windows version (32-bits)11,468,354 bytesSWI-Prolog 8.2.3-1 for Microsoft Windows (32 bit)

Self-installing executable for MS-Windows. Requires at least Windows 7. Installs swipl-win.exe and swipl.exe. This binary is linked against GMP 6.1.1 which is covered by the LGPL license.

SHA256:a05901d850c8e3138dab176ab10fab6b44ba452d35c7076b65d213dfcd89c209
MacOS bundle27,660,126 bytesSWI-Prolog 8.2.3-1 for MacOSX 10.12 (Sierra) and later on intel

Installer with binaries created using Macports. Installs /opt/local/bin/swipl. Needs xquartz (X11) and the Developer Tools (Xcode) installed for running the development tools

SHA256:235a08a3fcc4eecfa023a8e4f89a78ce54f7723120883f9944efaaf89930f444
Sources
Source archive10,999,577 bytesSWI-Prolog source for 8.2.3

Sources in .tar.gz format, including packages and generated documentation files. See build instructions.

SHA256:9403972f9d87f1f4971fbd4a5644b4976b1b18fc174be84506c6b713bd1f9c93
Documentation
PDF file2,485,556 bytesSWI-Prolog 8.2.3 reference manual in PDF

SWI-Prolog reference manual as PDF file. This does not include the package documentation.

Show all files
Install scripts may download the SHA256 checksum by appending .sha256 to the file name. Scripts can download the latest version by replacing the version of the file with latest. This causes the server to reply with the location of the latest version using an HTTP 303 See Other message.

SWI-Prolog version 8

The SWI-Prolog 8.0 major release marks mostly a milestone for the internals, stability, deployment options and maintainability of the system. SWI-Prolog extensions and incompatibilities wrt. traditional Prolog are described in extensions.

SWI-Prolog 8.2 notably brings much of the advanced tabling support of XSB to SWI-Prolog: Well Founded Semantics, restraints (bounded rationality), incremental tabling and shared tabling. It also makes rational numbers primary citizens. Using Google's tcmalloc reduces the memory footprint drastically on some multi-threaded workloads.