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.

 
Binaries
Windows version (32-bits)8,727,517 bytesSWI-Prolog/XPCE 5.10.5 for Windows NT/2000/XP/Vista/7

Self-installing executable for MS-Windows. Installs swipl.exe and swipl-win.exe. Works on Windows NT/2000/XP/Vista/7. Users of Windows 95/98/ME should download version 5.4.7.

Windows version (64-bits)9,003,493 bytesSWI-Prolog/XPCE 5.10.5 for Windows XP/Vista/7 64-bit edition

Self-installing executable for Microsoft's 64-bit platforms (XP/Vista/7 64-bit editions). See the reference manual for deciding on whether to use the 32- or 64-bits version.

Snow Leopard12,437,659 bytesSWI-Prolog/XPCE 5.10.4 for MacOSX 10.6 (Snow Leopard) on intel

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

MacOSX version10,679,381 bytesSWI-Prolog/XPCE 5.10.4 for MacOSX 10.5 (Leopard) 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

Sources
Source archive13,329,752 bytesSWI-Prolog source for 5.10.5

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

Documentation
PDF file2,562,070 bytesSWI-Prolog 5.10.5 reference manual in PDF

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

Show all files

About the 5.10.x release

SWI-Prolog 5.10.0 provides no new functionality beyond a few predicates. This version improves SWI-Prolog notably in terms of scalability, reliability, compatibility and performance for a couple of built-ins.

Upgrading code for 5.6.64 to 5.8.x and 5.10.x

We are assembling tricks and tips for upgrading your 5.6.X Prolog source to run on 5.8.0 and later here.

The main difference is that SWI-Prolog is now called swipl on all platforms. This may require updating PrologScript files (calling Prolog using #!/path/to/swipl -s) or other script files calling Prolog.

Otherwise, SWI-Prolog 5.10.x is compatible to 5.8.x, with possible exceptions of extreme corner cases. If you experience problems, please check relnotes-5.10

Highlights for the 5.10.x release: