SWI-Prolog is an open source implementation of the Prolog programming language. SWI-Prolog targets at developing real-world applications. To achieve this, in concentrates on libraries that facilitate interfacing to other software components, networking and multi-threading. SWI-Prolog can be used from Terminal.app as well as as an standard Mac application started from Finder. The commandline application can also run under several development environments such as GNU-Emacs (see Sweep), Eclipse, VSCode, etc.
arm64
(Apple Silicon, M*) and x86_64 (Intel).
Starting with SWI-Prolog 9.3.26, the SWI-Prolog app uses native MacOS
Quartz graphics and no longer requires the XQuartz X11 application. We
attempt to support all supported MacOS version. All code is compiled
using 10.15 as Deployment target. While the commandline
swipl executable is reported to run under 10.14, the
GUI is reported not to run under 10.15 while it is reported to
run on MacOS 14. Please report the status for intermediate versions.
The SWI-Prolog development tools, such as the source-level debugger, are
based on xpce, SWI-Prolog's native graphics toolkit. Some of the tools
can be started from the SWI-Prolog.app menus. Others are started
from the Prolog commandline. Notably, to use the source level debugger,
use gtrace/0 instead of the traditional trace/0
as below.
?- gtrace, my_goal(...).
The SWI-Prolog.app can be executed directly from the disk image, can be
installed in /Applications or in any other location, i.e.,
it is relocatable. The app advertises itself to the launcher as
shell for files with extensions .pl and
.prolog
The traditional command line tools are included in the app. To access
them from Terminal.app, add the directory
/Applications/SWI-Prolog.app/Contents/MacOS to
$PATH (replace with the actual location if you installed
the app in a different location). This provides
swipl The non-gui commandline version of SWI-Prolog. This version
can start GUI development tools. If you do not want that, use the option --nopce
swipl-win This is the same as lauching SWI-Prolog.app, but you can start it from Terminal.app and pass it commandline options.
SWI-Prolog is brought to you by many contributors.
❤️ If you enjoy using SWI-Prolog, please consider donating to help maintaining and developing the system. ❤️