SWI-Prolog is distributed as platform specific binary package for
popular platforms (currently MS-Windows and MacOS X). For
Ubuntu Linux we provide a
The source package provides the GNU autoconf/make suite to configure and
build fully automatically on many platforms. It builds on a wide range
of 32 and 64 bit systems with an ANSI C compiler. The MS-Windows version
is built using MinGW as a cross-compiler under
Linux. See the file README.mingw in the toplevel directory.
SWI-Prolog stable releases have an even minor version number (7.0.x,
7.2.x, 7.4.x, ...) and development releases an odd minor version
number (7.1.x, 7.3.x, ...). The development versions are released
frequently, typically every couple of weeks). A new stable cycle is
started when the development version has improved enough to make
upgrading valuable for many users and large changes to the development
versions have proven to be stable. As of 7.4.x we plan to provide
regular stability and security fixes for the stable version and we will
avoid incompatible changes.
All sources are available on GitHub. The
repository swipl.git is used for
the stable versions and the repository
swipl-devel.git for the
development series. Releases are tagged *V*Major.Minor.Patch.
- Major release. Multi-argument indexing, better multi-threaded
performance, threaded global GC (atoms and clauses), mode-directed
tabling, restored same expand and directive semantics for initial load
and reloading files, cleaner initializatin and command line handling.
- Current development branch.
- Major release. More robust and better scalable support
for multi-core hardware, tabling, engines. Many enhancements to
the RDF, HTTP and SSL libraries. This is the first release licensed
under the Simplified BSD (BSD-2) license.
- Major release, providing native key-value support by means
of dicts, native strings using "hello world" syntax,
web-accessible Prolog engines (Pengines) and a high level SQL library
called CQL. See extensions.
- Mostly a stability release. 6.6.x comes with some
modification, notably to processing commandline arguments. It has been
stabalised rather quickly because the 7.1.x branch introduces many and
partially incompatible changes.
- RDF database version 3, quasi quotations, many enhancements to
HTTP and HTML environment, many enhancements to the development tools,
- The pack package installer, better
support, many enhancements to debugger and environment. Windows version
built using MinGW (about 20% faster then MSVC2005 version).
- Stable branch created from 5.11.37. Notably provides just-in-time
indexing on multiple arguments and supports the PDT Eclipse IDE out of the
- External requirements have forced the release of 5.10.x
before the wishlist of new functionality was complete. Notably
generational GC remains on the wishlist.
- Stable branch with the achieved 5.9.x enhancements: better
scalability in terms of memory usage and concurrency, better
reliability and better compatibility.
- Stable branch providing performance enhancements from 5.7.x,
many extensions and enhancements to the libraries; notably the
web and semantic web libraries.
- Stable branch providing UNICODE handling, unbounded and
rational arithmetic, enhanced Leuven CHR system,
much enhanced (semantic) web libraries, etc.
- Stable branch providing attributed variables, coroutining,
CHR (Constraint Handling Rules), infinite trees (cyclic terms) and
many more. This is the last version that runs on Windows 95/98/ME.
5.5.x and later require Windows NT, 2000 or XP.
- Stable version providing multi-threading.
- Moved to uniform LGPL license. Standard distribution contains
core packages: XPCE (graphics), TCP/IP, CGI, SGML/XML/HTML/RDF, HTTP,
ODBC and many more.
- Version prior to integration. Compliant to the ISO Prolog
- Last pre-ISO version. As 3.3.0 is not fully upward compatible
this version will remain on this server for a while. It will not be
maintained (by us)