- Documentation
- Reference manual
- Introduction
 - Overview
- Getting started quickly
 - The user's initialisation file
 - Initialisation files and goals
 - Command line options
 - GNU Emacs Interface
 - Online Help
 - Command line history
 - Reuse of top-level bindings
 - Overview of the Debugger
 - Compilation
 - Environment Control (Prolog flags)
 - An overview of hook predicates
 - Automatic loading of libraries
 - Packs: community add-ons
 - Garbage Collection
 - The SWI-Prolog syntax
 - Rational trees (cyclic terms)
 - Just-in-time clause indexing
 - Wide character support
 - System limits
 - SWI-Prolog and 64-bit machines
 
 - Initialising and Managing a Prolog Project
 - Built-in Predicates
 - SWI-Prolog extensions
 - Modules
 - Constraint Logic Programming
 - CHR: Constraint Handling Rules
 - Multithreaded applications
 - Coroutining using Prolog engines
 - Foreign Language Interface
 - Generating Runtime Applications
 - The SWI-Prolog library
 - Hackers corner
 - Compatibility with other Prolog dialects
 - Glossary of Terms
 - SWI-Prolog License Conditions and Tools
 - Summary
 - Bibliography
 
 - Packages
 
 - Reference manual