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
Compilation
2.11.1
During program development
2.11.2
For running the result
2.11.2.1
Using PrologScript
2.11.2.2
Creating a shell script
2.11.2.3
Creating a saved state
2.11.2.4
Compilation using the -c command line option
2.12
Environment Control (Prolog flags)
2.13
An overview of hook predicates
2.14
Automatic loading of libraries
2.15
Packs: community add-ons
2.16
The SWI-Prolog syntax
2.16.1
ISO Syntax Support
2.16.1.1
Processor Character Set
2.16.1.2
Nested comments
2.16.1.3
Character Escape Syntax
2.16.1.4
Syntax for non-decimal numbers
2.16.1.5
Using digit groups in large integers
2.16.1.6
Rational number syntax
2.16.1.7
NaN and Infinity floats and their syntax
2.16.1.8
Force only underscore to introduce a variable
2.16.1.9
Unicode Prolog source
2.16.1.10
Singleton variable checking
2.17
Rational trees (cyclic terms)
2.18
Just-in-time clause indexing
2.18.1
Deep indexing
2.18.2
Future directions
2.18.3
Indexing for body code
2.18.4
Indexing and portability
2.19
Wide character support
2.19.1
Wide character encodings on streams
2.19.1.1
BOM: Byte Order Mark
2.20
System limits
2.20.1
Limits on memory areas
2.20.1.1
The heap
2.20.2
Other Limits
2.20.3
Reserved Names
2.21
SWI-Prolog and 64-bit machines
2.21.1
Supported platforms
2.21.2
Comparing 32- and 64-bits Prolog
2.21.3
Choosing between 32- and 64-bit Prolog
2.22
Binary compatibility