2 Overview
All
Application
Manual
Name
Summary
Help
Documentation
Reference manual
Introduction
Overview
Getting started quickly
The user's initialisation file
Initialisation files and goals
Command line options
UI Themes
GNU Emacs Interface
Online Help
Command line history
Reuse of top-level bindings
Overview of the Debugger
Loading and running projects
Environment Control (Prolog flags)
An overview of hook predicates
Automatic loading of libraries
The SWI-Prolog syntax
Rational trees (cyclic terms)
Just-in-time clause indexing
Wide character support
System limits
SWI-Prolog and 32-bit machines
Binary compatibility
Initialising and Managing a Prolog Project
Built-in Predicates
SWI-Prolog extensions
Modules
Tabled execution (SLG resolution)
Constraint Logic Programming
CHR: Constraint Handling Rules
Multithreaded applications
Coroutining using Prolog engines
Foreign Language Interface
Using SWI-Prolog in your browser (WASM)
Deploying applications
Packs: community add-ons
The SWI-Prolog library
Hackers corner
Compatibility with other Prolog dialects
Glossary of Terms
SWI-Prolog License Conditions and Tools
Summary
Bibliography
Packages
2
Overview
Section Index
2.1
Getting started quickly
2.1.1
Starting SWI-Prolog
2.1.1.1
Starting SWI-Prolog on Unix
2.1.1.2
Starting SWI-Prolog on Windows
2.1.2
Adding rules from the console
2.1.3
Executing a query
2.1.4
Examining and modifying your program
2.1.5
Stopping Prolog
2.2
The user's initialisation file
2.3
Initialisation files and goals
2.4
Command line options
2.4.1
Informational command line options
2.4.2
Command line options for running Prolog
2.4.3
Controlling the stack sizes
2.4.4
Running goals from the command line
2.4.5
Compilation options
2.4.6
Maintenance options
2.5
UI Themes
2.5.1
Status of theme support
2.6
GNU Emacs Interface
2.7
Online Help
2.7.1
library(help): Text based manual
2.7.2
library(explain): Describe Prolog Terms
2.8
Command line history
2.9
Reuse of top-level bindings
2.10
Overview of the Debugger
2.10.1
The Byrd Box Model And Ports
2.10.2
Trace Mode Example
2.10.3
Trace Mode Options: leash/1 and visible/1
2.10.4
Trace Mode Commands When Paused
2.10.4.1
Control Flow Commands
2.10.4.2
Informational Commands
2.10.4.3
Formatting Commands
2.10.5
Trace Mode vs. Trace Point
2.10.6
Spy Points and Debug Mode
2.10.7
Breakpoints
2.10.8
Command Line Debugger Summary
2.10.8.1
Trace Mode
2.10.8.2
Trace Points
2.11
Loading and running projects
2.11.1
Running an application
2.11.1.1
Using PrologScript
2.11.1.2
Creating a shell script
2.11.1.3
Creating a saved state
2.11.1.4
Compilation using the -c command line option
2.11.1.5
SWI-Prolog app scripts
2.12
Environment Control (Prolog flags)
2.13
An overview of hook predicates
2.14
Automatic loading of libraries
2.15
The SWI-Prolog syntax
2.15.1
ISO Syntax Support
2.15.1.1
Processor Character Set
2.15.1.2
Nested comments
2.15.1.3
Character Escape Syntax
2.15.1.4
Syntax for non-decimal numbers
2.15.1.5
Using digit groups in large integers
2.15.1.6
Rational number syntax
2.15.1.7
NaN and Infinity floats and their syntax
2.15.1.8
Force only underscore to introduce a variable
2.15.1.9
Unicode Prolog source
2.15.1.10
Singleton variable checking
2.16
Rational trees (cyclic terms)
2.17
Just-in-time clause indexing
2.17.1
Deep indexing
2.17.2
Future directions
2.17.3
Indexing for body code
2.17.4
Indexing and portability
2.18
Wide character support
2.18.1
Wide character encodings on streams
2.18.1.1
BOM: Byte Order Mark
2.19
System limits
2.19.1
Limits on memory areas
2.19.1.1
The heap
2.19.2
Other Limits
2.19.3
Reserved Names
2.20
SWI-Prolog and 32-bit machines
2.21
Binary compatibility