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. I do not use mac OS-X myself, but there are two very good SWI-Prolog editors that are cross-platform (thus also work on OS-X): PDT works with the Eclipse IDE. It has good syntax coloring, an in-IDE Prolog console, a dynamically generated visualization of the call graph, to name only a.
TL;DR for 'Install development version on Linux'
With bash
.
Building is done using cmake, and it uses ninja-build to compute dependencies and build.
dnf
, for example apt
)ninja-build
must have been installed (on Fedora: `dnf install ninja-build`)Suppose we want to install SWIPL into this directory:
You can also install it somewhere in your home directory, or at some other place, it's up to you. If you install it in your home directory, there is no need to change to user root
below.
As root:
You may want to prepare the installation directory:
As non-root, in your home directory
By default the system configures all features. In particular, GMP, ODBC, JPL, graphics.
Soon you will see:
Then actually compile and run the tests:
(Note that if you want to compile the Prolog-Java bridge 'JPL', you will have to have a discoverable JDK on the system; for testing you will need the hamcrest jar and junit jar but this is going too far now)
Then, install as root:
To make sure SWI-Prolog is found on-PATH, add the following script as 'logic.sh' to `/etc/profile.d/` (this should work but may depend on the system) :
And create the symlink corresponding to `/usr/local/logic/swipl`, linking to `/usr/local/logic/swipl/swiplexe_8.3.7` or similar. As user root
:
Check using tree
Drop root privileges. As non-root:
Here is a little bash script I use to set up a some SWIPL versions I used for development. It's too complex for general use, but it's all-in-one and rather foolproof:
system_install_dir
toplevel_dir_fq
It will ask you before letting loose:
Not that to compile & test JPL; the Java-Prolog bridge, you need to have a valid Java JDK on your system and the above script needs to find the jars for hamcrest and junit in a directory called jars
at the same level as the directory into which the SWI-Prolog distribution is cloned:
You get those jars from
Linux versions are often available as a package for your distribution.We collect information about available packages and issues for buildingon specific distros here.We provide a PPAfor Ubuntu and snapimages
Pleasecheck the windows release notes (also in theSWI-Prolog startup menu of your installed version) for details.
Examine the ChangeLog.
Binaries | ||
---|---|---|
12,810,386 bytes | SWI-Prolog 8.2.1-1 for Microsoft Windows (64 bit)
Self-installing executable for Microsoft's Windows 64-bit editions.Requires at least Windows 7. See the referencemanual for deciding on whether to use the 32- or64-bits version. This binary is linked against GMP 6.1.1 which iscovered by the LGPL license. SHA256:45fc082c3f39188657e21c0bd51173a0be1bdb7528f584913ac7f18b49fd0cb6
|
|
12,460,084 bytes | SWI-Prolog 8.2.1-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 linkedagainst GMP 6.1.1 which is covered by the LGPL license. SHA256:38537e2cd70630d65a9868708fd305c5600d654fb736d1dbc16090fe9eb2894d
|
|
27,697,698 bytes | SWI-Prolog 8.2.1-1 for MacOSX 10.12 (Sierra) and later on intel
Installer with binaries created using Macports.Installs SHA256:1fd495fea2e523b098c7221c092fb6403cbeed7f9c99df3737cd336bb39d6b84
|
|
Sources | ||
10,969,688 bytes | SWI-Prolog source for 8.2.1
Sources in SHA256:331bc5093d72af0c9f18fc9ed83b88ef9ddec0c8d379e6c49fa43739c8bda2fb
|
|
Documentation | ||
2,709,707 bytes | SWI-Prolog 8.2.1 reference manual in PDF
SWI-Prolog reference manual as PDF file. This does not include thepackage documentation. |
|
Show all files |
.sha256
to the file name. Scripts can downloadthe latest version by replacing the version of the file withlatest
. This causes the server to reply with thelocation of the latest version using anHTTP 303 See Other
message.The SWI-Prolog 8.0 major release marks mostly a milestone for theinternals, stability, deployment options and maintainability of thesystem. SWI-Prolog extensions and incompatibilities wrt. traditionalProlog are described in extensions.
SWI-Prolog 8.2 notably brings much of the advanced tabling support ofXSB to SWI-Prolog: Well Founded Semantics, restraints (boundedrationality), incremental tabling and shared tabling. It also makesrational numbers primary citizens. Using Google's tcmalloc reduces thememory footprint drastically on some multi-threaded workloads.