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 a 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.
The installer places the application swipl-win.app in
/Applications and the runtime, libraries and development
files as swipl.framework in /Library/Frameworks.
Keeping the runtime in a framework allows other applications to embed
SWI-Prolog by linking against swipl.framework. The
.pkg installer is signed with a Developer ID and
notarized by Apple.
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 swipl-win.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(...).
swipl-win.app may be moved to a different location, provided
swipl.framework remains in /Library/Frameworks.
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/swipl-win.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 launching swipl-win.app, but you can start it from Terminal.app and pass it commandline options.
swipl-ld Helper to link embedded SWI-Prolog executables and extensions against swipl.framework.
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. ❤️