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

Android.png Android binaries are available for Termux as the package swi-prolog. See also Building SWI-Prolog on Android using LinuxOnAndroid

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)13,832,857 bytesSWI-Prolog 9.2.7-1 for Microsoft Windows (64 bit)

Self-installing executable for Microsoft Windows 64-bit editions.

SHA256:125759909b6d1dc43323cdaa98a62b8f765a40748d9d2c9f3ae028d05441e117
Windows version (32-bits)13,851,577 bytesSWI-Prolog 9.2.7-1 for Microsoft Windows (32 bit)

Self-installing executable for Microsoft Windows 32-bit editions. Version 9.3 is that last version of SWI-Prolog that is also released for 32-bit. Note that this version lacks the Janus interface to Python.

SHA256:2daf0843a38b8a96f0a292554df6be8cec4c1a7a3012a8fd7909bd29ca44307b
MacOS bundle39,839,817 bytesSWI-Prolog 9.2.7-1 for MacOSX 10.14 (Mojave) and later on x86_64 and arm64

Mac OS X disk image with relocatable application bundle. Needs xquartz (X11) installed for running the development tools. The bundle also provides the commandline tools in the Contents/MacOS directory. Users of older MacOS versions are adviced to use Macports, Homebrew or install from source. This bundle contains universal (fat) binaries that run natively on Intel (x86_64) and Apple Silicon (M1-3, arm64).

SHA256:f8e17a0a2f5ee36b61198aebce5fe4c4c621b4ada82ae3dc5119107d165f5a0a
MacOS bundle33,410,803 bytesSWI-Prolog 9.2.7-1 for MacOSX bundle on intel

Mac OS X disk image with relocatable application bundle. Needs xquartz. Same as the fat bundle, but only contains the x86_64 binaries, compiled using gcc13 from Macports. This version is 30-40% faster than the fat binaries on Intel Macs. The intel version is not regularly updated.

SHA256:99443f9b415f9438a0a346935c4936c9f55732010163f50f6520107089d7b9a5
Sources
Source archive12,291,404 bytesSWI-Prolog source for 9.2.7

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

SHA256:fd4126f047e0784112741a874e2f7f8c68b5edd6426ded621df355c62d18c96f
Documentation
PDF file3,307,532 bytesSWI-Prolog 9.2.7 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 9.2

The SWI-Prolog 9.2 is the latest stable release. Highlights:

  • Bundled Python bi-directional interface (Janus)
  • C++ interface version 2 (SWI-ccp2.h) covers much more of the SWI-Prolog C API and is more (type-)safe.
  • Sources are now strict C11 and may be compiled using e.g. VS2022 on Windows.
  • Many improvements to the tooling.
    • The profiler can provide accurate port counts
    • The coverage analysis tool can annotate files by line and collect data from multiple threads and Prolog runs.
    • The unit testing tool supports concurrent testing and hiding of output of succeeded tests.
    • The pack manager can deal with version and feature restrictions, plan multiple packs together, build using CMake.
  • Added an option for commandline tools that can be called as swipl <tool> [arg ...]. Provides cli tools for pack management and `.qlf` compilation.