To run the code examples provided in the book, use any Prolog implementation that conforms to the ISO standard and provides the following conforming extensions:
- Constraints like
dif/2 and declarative integer arithmetic. - Alternative execution strategies such as SLG resolution.
Recommended Prolog systems include:
- SICStus Prolog: A state-of-the-art, ISO standard compliant system.
- Scryer Prolog: A modern implementation written mostly in Rust.
- GNU Prolog: A free compiler with constraint solving over finite domains.
Note on String Handling:
The examples assume the Prolog flag double_quotes is set to chars (interpreting double-quoted strings as lists of characters). This is the default in Scryer Prolog, Tau Prolog, Trealla Prolog, and ichiban/prolog.