1.7 Donate to the SWI-Prolog project
1.8 Acknowledgements
2 Overview
2.2 The user's initialisation file
2.3 Initialisation files and goals
2.4 Command line options
2.5 GNU Emacs Interface
2.6 Online Help
2.7 Query Substitutions
2.8 Reuse of toplevel bindings
2.9 Overview of the Debugger
2.10 Compilation
2.11 Environment Control (Prolog flags)
2.12 An overview of hook predicates
2.13 Automatic loading of libraries
2.14 Garbage Collection
2.15 Syntax Notes
2.16 System limits
3 Initialising and Managing a Prolog
Project
3.1.2 Project Special Files
3.2 Using modules
3.3 The test-edit-reload cycle
3.4 Using the PceEmacs built-in editor
3.4.3 Prolog Mode
3.5 The Graphical Debugger
3.6 The Prolog Navigator
3.7 Accessing the IDE from your program
3.8 Summary of the iDE
4 Built-in predicates
4.10 Handling signals
4.11 The `block' control-structure
4.12 DCG Grammar rules
4.13 Database
4.14 Declaring predicates properties
4.15 Examining the program
4.16 Input and output
4.17 Status of streams
4.18 Primitive character I/O
4.19 Term reading and writing
4.20 Analysing and Constructing Terms
4.21 Analysing and Constructing Atoms
4.22 Classifying characters
4.23 Representing text in strings
4.24 Operators
4.25 Character Conversion
4.26 Arithmetic
4.27 Arithmetic Functions
4.28 Adding Arithmetic Functions
4.29 List Manipulation
4.30 Set Manipulation
4.31 Sorting Lists
4.32 Finding all Solutions to a Goal
4.33 Invoking Predicates on all Members
of a List
4.34 Forall
4.35 Formatted Write
4.36 Terminal Control
4.37 Operating System Interaction
4.38 File System Interaction
4.39 Multi-threading (beta code)
4.40 User Toplevel Manipulation
4.41 Creating a Protocol of the User
Interaction
4.42 Debugging and Tracing Programs
4.43 Obtaining Runtime Statistics
4.44 Finding Performance Bottlenecks
4.45 Memory Management
4.46 Windows DDE interface
4.47 Miscellaneous
5 Using Modules
5.7 Dynamic Modules
5.8 Module Handling Predicates
5.9 Compatibility of the Module
System
6 Foreign Language Interface
6.3 Dynamic Linking of shared libraries
6.4 Using the library shlib for .DLL
and .so
files
6.5 Interface Data types
6.6 The Foreign Include File
6.6.4 Constructing Terms
6.6.5 Unifying data
6.6.6 Calling Prolog from C
6.6.7 Discarding Data
6.6.8 Foreign Code and
Modules
6.6.9 Prolog exceptions in
foreign code
6.6.10 Foreign code and
Prolog threads
6.6.11 Catching Signals
(Software Interrupts)
6.6.12 Miscellaneous
6.6.13 Errors and warnings
6.6.14 Environment Control
from Foreign Code
6.6.15 Querying Prolog
6.6.16 Registering Foreign
Predicates
6.6.17 Foreign Code Hooks
6.6.18 Storing foreign data
6.6.19 Embedding SWI-Prolog
in other applications
6.7 Linking embedded applications using plld
6.8 The Prolog `home' directory
6.9 Example of Using the Foreign
Interface
6.10 Notes on Using Foreign Code
7 Generating Runtime Applications
7.4 Finding Application files
7.5 The Runtime Environment
A The SWI-Prolog library
B Hackers corner
C Glossary of Terms
D SWI-Prolog License Conditions and
Tools
E Summary
E.3 Arithmetic Functions
E.4 Operators
F Bibliography