Installation & Implementations

2.1 Installing SWI-Prolog (recommended for this course)

Download the installer from swi-prolog.org, or:

Run with swipl. Online: SWISH (swish.swi-prolog.org) — notebooks in the browser.

brew install swi-prolog
sudo apt-add-repository ppa:swi-prolog/stable && sudo apt update && sudo apt install swi-prolog
winget install SWI-Prolog.SWI-Prolog

2.2 Major implementations

most popular; huge library (web, threads, tabling, CLP, Python bridge), great tooling Scryer Prolog written in Rust, strict ISO conformance, library(clpz) SICStus Prolog commercial, very fast, mature CLP(FD) GNU Prolog compiles to native code, built-in FD solver Trealla Prolog small, fast, ISO, C-based Ciao Prolog assertions/types, multiparadigm pioneer of tabling (SLG resolution) constraint programming platform Tau Prolog JavaScript, runs in the browser embeddable in Go

2.3 Editors

VS Code: "VSC-Prolog" / "Prolog" extensions; SWI-Prolog's LSP (lsp_server pack).

Emacs: ediprolog, sweeprolog (deep SWI integration).

SWI-Prolog's built-in editor and graphical tracer (emacs/1, gtrace/0).