root/trunk/manuals/userman/index.html

Revision 4640, 37.5 KB (checked in by pmoura, 3 weeks ago)

Updated the Logtalk version number to 2.35.0 in preparation for the next release.

Improved compilation of source code resulting in smaller intermediate Prolog files and better performance for most back-end Prolog compilers (work in progress; meta-predicate support currently broken).

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
3    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4
5<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
6
7<head>
8    <meta http-equiv="content-type" content="application/xml+xhtml; charset=utf-8" />
9    <title>Logtalk user manual: index</title>
10    <link rel="stylesheet" href="../screen.css" type="text/css" media="screen"/>
11    <link rel="stylesheet" href="../print.css" type="text/css" media="print"/>
12</head>
13
14<body>
15
16<div class="top-left">Logtalk user manual</div> 
17<div class="top-right">Index</div>
18<div class="bottom-left"><span class="page"/></div> 
19<div class="bottom-right"><span class="page"/></div>
20<div class="navtop"><a href="../index.html">Contents</a></div>
21
22<h1>User Manual</h1>
23
24<dl class="toc-entries">
25    <dt><a href="#features">Logtalk Features</a><span class="leader"></span><span class="page-ref"><span class="features_features"></span></span></dt>
26    <dt><a href="#nomenclature">Logtalk Nomenclature</a><span class="leader"></span><span class="page-ref"><span class="nomenclature_nomenclature"></span></span></dt>
27</dl>
28<dl class="toc-entries">
29    <dt><a href="#messages">Message Sending</a><span class="leader"></span><span class="page-ref"><span class="messages_messages"></span></span></dt>
30    <dt><a href="#objects">Objects</a><span class="leader"></span><span class="page-ref"><span class="objects_objects"></span></span></dt>
31    <dt><a href="#protocols">Protocols</a><span class="leader"></span><span class="page-ref"><span class="protocols_protocols"></span></span></dt>
32    <dt><a href="#categories">Categories</a><span class="leader"></span><span class="page-ref"><span class="categories_categories"></span></span></dt>
33    <dt><a href="#predicates">Predicates</a><span class="leader"></span><span class="page-ref"><span class="predicates_predicates"></span></span></dt>
34    <dt><a href="#inheritance">Inheritance</a><span class="leader"></span><span class="page-ref"><span class="inheritance_inheritance"></span></span></dt>
35    <dt><a href="#events">Event-driven Programming</a><span class="leader"></span><span class="page-ref"><span class="events_events"></span></span></dt>
36    <dt><a href="#threads">Multi-threading Programming</a><span class="leader"></span><span class="page-ref"><span class="threads_threads"></span></span></dt>
37    <dt><a href="#errors">Error Handling</a><span class="leader"></span><span class="page-ref"><span class="errors_errors"></span></span></dt>
38</dl>
39<dl class="toc-entries">
40    <dt><a href="#documenting">Documenting Logtalk Programs</a><span class="leader"></span><span class="page-ref"><span class="documenting_documenting"></span></span></dt>
41</dl>
42<dl class="toc-entries">
43    <dt><a href="#installing">Installing Logtalk</a><span class="leader"></span><span class="page-ref"><span class="installing_installing"></span></span></dt>
44    <dt><a href="#programming">Writing, Running, and Debugging Logtalk Programs</a><span class="leader"></span><span class="page-ref"><span class="programming_programming"></span></span></dt>
45</dl>
46
47<h2><a id="features" href="features.html">Logtalk Features</a></h2>
48
49<dl class="toc-entries">
50    <dt><a href="features.html#features_logic">Integration of logic and object-oriented programming</a><span class="leader"></span><span class="page-ref"><span class="features_logic"></span></span></dt>
51    <dt><a href="features.html#features_events">Integration of event-driven and object-oriented programming</a><span class="leader"></span><span class="page-ref"><span class="features_events"></span></span></dt>
52    <dt><a href="features.html#features_categories">Support for component-based programming</a><span class="leader"></span><span class="page-ref"><span class="features_categories"></span></span></dt>
53    <dt><a href="features.html#features_both">Support for both prototype and class-based systems</a><span class="leader"></span><span class="page-ref"><span class="features_both"></span></span></dt>
54    <dt><a href="features.html#features_multiple">Support for multiple object hierarchies</a><span class="leader"></span><span class="page-ref"><span class="features_multiple"></span></span></dt>
55    <dt><a href="features.html#features_interface">Separation between interface and implementation</a><span class="leader"></span><span class="page-ref"><span class="features_interface"></span></span></dt>
56    <dt><a href="features.html#features_inheritance">Private, protected, and public inheritance</a><span class="leader"></span><span class="page-ref"><span class="features_inheritance"></span></span></dt>
57    <dt><a href="features.html#features_predicates">Private, protected, and public object predicates</a><span class="leader"></span><span class="page-ref"><span class="features_predicates"></span></span></dt>
58    <dt><a href="features.html#features_parametric">Parametric objects</a><span class="leader"></span><span class="page-ref"><span class="features_parametric"></span></span></dt>
59    <dt><a href="features.html#features_threading">High level multi-threading programming support</a><span class="leader"></span><span class="page-ref"><span class="features_threading"></span></span></dt>
60    <dt><a href="features.html#features_learning">Smooth learning curve</a><span class="leader"></span><span class="page-ref"><span class="features_learning"></span></span></dt>
61    <dt><a href="features.html#features_compatibility">Compatibility with most Prologs and the ISO standard</a><span class="leader"></span><span class="page-ref"><span class="features_compatibility"></span></span></dt>
62    <dt><a href="features.html#features_performance">Performance</a><span class="leader"></span><span class="page-ref"><span class="features_performance"></span></span></dt>
63    <dt><a href="features.html#features_scope">Logtalk scope</a><span class="leader"></span><span class="page-ref"><span class="features_scope"></span></span></dt>
64</dl>
65
66<h2><a id="nomenclature" href="nomenclature.html">Logtalk Nomenclature</a></h2>
67
68<dl class="toc-entries">
69    <dt><a href="nomenclature.html#nomenclature_cpp">C++ nomenclature</a><span class="leader"></span><span class="page-ref"><span class="nomenclature_cpp"></span></span></dt>
70    <dt><a href="nomenclature.html#nomenclature_java">Java nomenclature</a><span class="leader"></span><span class="page-ref"><span class="nomenclature_java"></span></span></dt>
71</dl>
72
73<h2><a id="messages" href="messages.html">Message Sending</a></h2>
74
75<dl class="toc-entries">
76    <dt><a href="messages.html#messages_operators">Operators used in message sending</a><span class="leader"></span><span class="page-ref"><span class="messages_operators"></span></span></dt>
77    <dt><a href="messages.html#messages_sending">Sending a message to an object</a><span class="leader"></span><span class="page-ref"><span class="messages_sending"></span></span></dt>
78    <dt><a href="messages.html#messages_broadcasting">Broadcasting</a><span class="leader"></span><span class="page-ref"><span class="messages_broadcasting"></span></span></dt>
79    <dt><a href="messages.html#messages_self">Sending a message to <em>self</em></a><span class="leader"></span><span class="page-ref"><span class="messages_self"></span></span></dt>
80    <dt><a href="messages.html#messages_super">Calling an overridden predicate definition</a><span class="leader"></span><span class="page-ref"><span class="messages_super"></span></span></dt>
81    <dt><a href="messages.html#messages_direct">Direct calls of imported predicates</a><span class="leader"></span><span class="page-ref"><span class="messages_direct"></span></span></dt>
82    <dt><a href="messages.html#messages_events">Message sending and event generation</a><span class="leader"></span><span class="page-ref"><span class="messages_events"></span></span></dt>
83    <dt><a href="messages.html#messages_performance">Message sending performance</a><span class="leader"></span><span class="page-ref"><span class="messages_performance"></span></span></dt>
84</dl>
85
86<h2><a id="objects" href="objects.html">Objects</a></h2>
87
88<dl class="toc-entries">
89    <dt><a href="objects.html#objects_kind">Objects, prototypes, classes, and instances</a><span class="leader"></span><span class="page-ref"><span class="objects_kind"></span></span></dt>
90        <dd><a href="objects.html#objects_prototypes">Prototypes</a><span class="leader"></span><span class="page-ref"><span class="objects_prototypes"></span></span></dd>
91        <dd><a href="objects.html#objects_classes">Classes</a><span class="leader"></span><span class="page-ref"><span class="objects_classes"></span></span></dd>
92    <dt><a href="objects.html#objects_defining">Defining a new object</a><span class="leader"></span><span class="page-ref"><span class="objects_defining"></span></span></dt>
93    <dt><a href="objects.html#objects_parametric">Parametric objects</a><span class="leader"></span><span class="page-ref"><span class="objects_parametric"></span></span></dt>
94    <dt><a href="objects.html#objects_finding">Finding defined objects</a><span class="leader"></span><span class="page-ref"><span class="objects_finding"></span></span></dt>
95    <dt><a href="objects.html#objects_creating">Creating a new object in runtime</a><span class="leader"></span><span class="page-ref"><span class="objects_creating"></span></span></dt>
96    <dt><a href="objects.html#objects_abolishing">Abolishing an existing object</a><span class="leader"></span><span class="page-ref"><span class="objects_abolishing"></span></span></dt>
97    <dt><a href="objects.html#objects_directives">Object directives</a><span class="leader"></span><span class="page-ref"><span class="objects_directives"></span></span></dt>
98        <dd><a href="objects.html#objects_initialization">Object initialization</a><span class="leader"></span><span class="page-ref"><span class="objects_initialization"></span></span></dd>
99        <dd><a href="objects.html#objects_synchronized">Synchronized objects</a><span class="leader"></span><span class="page-ref"><span class="objects_synchronized"></span></span></dd>
100        <dd><a href="objects.html#objects_dynamic">Dynamic objects</a><span class="leader"></span><span class="page-ref"><span class="objects_dynamic"></span></span></dd>
101        <dd><a href="objects.html#objects_dependencies">Object dependencies</a><span class="leader"></span><span class="page-ref"><span class="objects_dependencies"></span></span></dd>
102        <dd><a href="objects.html#objects_documentation">Object documentation</a><span class="leader"></span><span class="page-ref"><span class="objects_documentation"></span></span></dd>
103    <dt><a href="objects.html#objects_relationships">Object relationships</a><span class="leader"></span><span class="page-ref"><span class="objects_relationships"></span></span></dt>
104    <dt><a href="objects.html#objects_properties">Object properties</a><span class="leader"></span><span class="page-ref"><span class="objects_properties"></span></span></dt>
105    <dt><a href="objects.html#objects_built_in">Built-in objects</a><span class="leader"></span><span class="page-ref"><span class="objects_built_in"></span></span></dt>
106        <dd><a href="objects.html#objects_user">The built-in pseudo-object <em>user</em></a><span class="leader"></span><span class="page-ref"><span class="objects_user"></span></span></dd>
107        <dd><a href="objects.html#objects_debugger">The built-in object <em>debugger</em></a><span class="leader"></span><span class="page-ref"><span class="objects_debugger"></span></span></dd>
108        <dd><a href="objects.html#objects_logtalk">The built-in object <em>logtalk</em></a><span class="leader"></span><span class="page-ref"><span class="objects_logtalk"></span></span></dd>
109</dl>
110
111<h2><a id="protocols" href="protocols.html">Protocols</a></h2>
112
113<dl class="toc-entries">
114    <dt><a href="protocols.html#protocols_defining">Defining a new protocol</a><span class="leader"></span><span class="page-ref"><span class="protocols_defining"></span></span></dt>
115    <dt><a href="protocols.html#protocols_finding">Finding defined protocols</a><span class="leader"></span><span class="page-ref"><span class="protocols_finding"></span></span></dt>
116    <dt><a href="protocols.html#protocols_creating">Creating a new protocol in runtime</a><span class="leader"></span><span class="page-ref"><span class="protocols_creating"></span></span></dt>
117    <dt><a href="protocols.html#protocols_abolishing">Abolishing an existing protocol</a><span class="leader"></span><span class="page-ref"><span class="protocols_abolishing"></span></span></dt>
118    <dt><a href="protocols.html#protocols_directives">Protocol directives</a><span class="leader"></span><span class="page-ref"><span class="protocols_directives"></span></span></dt>
119        <dd><a href="protocols.html#protocols_initialization">Protocol initialization</a><span class="leader"></span><span class="page-ref"><span class="protocols_initialization"></span></span></dd>
120        <dd><a href="protocols.html#protocols_dynamic">Dynamic protocols</a><span class="leader"></span><span class="page-ref"><span class="protocols_dynamic"></span></span></dd>
121        <dd><a href="protocols.html#protocols_documentation">Protocol documentation</a><span class="leader"></span><span class="page-ref"><span class="protocols_documentation"></span></span></dd>
122    <dt><a href="protocols.html#protocols_relationships">Protocol relationships</a><span class="leader"></span><span class="page-ref"><span class="protocols_relationships"></span></span></dt>
123    <dt><a href="protocols.html#protocols_properties">Protocol properties</a><span class="leader"></span><span class="page-ref"><span class="protocols_properties"></span></span></dt>
124    <dt><a href="protocols.html#protocols_implementing">Implementing protocols</a><span class="leader"></span><span class="page-ref"><span class="protocols_implementing"></span></span></dt>
125    <dt><a href="protocols.html#protocols_built_in">Built-in protocols</a><span class="leader"></span><span class="page-ref"><span class="protocols_built_in"></span></span></dt>
126        <dd><a href="protocols.html#protocols_expanding">The built-in protocol <em>expanding</em></a><span class="leader"></span><span class="page-ref"><span class="protocols_expanding"></span></span></dd>
127        <dd><a href="protocols.html#protocols_monitoring">The built-in protocol <em>monitoring</em></a><span class="leader"></span><span class="page-ref"><span class="protocols_monitoring"></span></span></dd>
128</dl>
129
130<h2><a id="categories" href="categories.html">Categories</a></h2>
131
132<dl class="toc-entries">
133    <dt><a href="categories.html#categories_defining">Defining a new category</a><span class="leader"></span><span class="page-ref"><span class="categories_defining"></span></span></dt>
134    <dt><a href="categories.html#categories_finding">Finding defined categories</a><span class="leader"></span><span class="page-ref"><span class="categories_finding"></span></span></dt>
135    <dt><a href="categories.html#categories_creating">Creating a new category in runtime</a><span class="leader"></span><span class="page-ref"><span class="categories_creating"></span></span></dt>
136    <dt><a href="categories.html#categories_abolishing">Abolishing an existing category</a><span class="leader"></span><span class="page-ref"><span class="categories_abolishing"></span></span></dt>
137    <dt><a href="categories.html#categories_directives">Category directives</a><span class="leader"></span><span class="page-ref"><span class="categories_directives"></span></span></dt>
138        <dd><a href="categories.html#categories_initialization">Category initialization</a><span class="leader"></span><span class="page-ref"><span class="categories_initialization"></span></span></dd>
139        <dd><a href="categories.html#categories_dynamic">Dynamic categories</a><span class="leader"></span><span class="page-ref"><span class="categories_dynamic"></span></span></dd>
140        <dd><a href="categories.html#categories_dependencies">Category dependencies</a><span class="leader"></span><span class="page-ref"><span class="categories_dependencies"></span></span></dd>
141        <dd><a href="categories.html#categories_documentation">Category documentation</a><span class="leader"></span><span class="page-ref"><span class="categories_documentation"></span></span></dd>
142    <dt><a href="categories.html#categories_relationships">Category relationships</a><span class="leader"></span><span class="page-ref"><span class="categories_relationships"></span></span></dt>
143    <dt><a href="categories.html#categories_properties">Category properties</a><span class="leader"></span><span class="page-ref"><span class="categories_properties"></span></span></dt>
144    <dt><a href="categories.html#categories_importing">Importing categories</a><span class="leader"></span><span class="page-ref"><span class="categories_importing"></span></span></dt>
145    <dt><a href="categories.html#categories_predicates">Using category predicates</a><span class="leader"></span><span class="page-ref"><span class="categories_predicates"></span></span></dt>
146</dl>
147
148<h2><a id="predicates" href="predicates.html">Predicates</a></h2>
149
150<dl class="toc-entries">
151    <dt><a href="predicates.html#predicates_declaring">Declaring predicates</a><span class="leader"></span><span class="page-ref"><span class="predicates_declaring"></span></span></dt>
152        <dd><a href="predicates.html#predicates_scope">Scope directives</a><span class="leader"></span><span class="page-ref"><span class="predicates_scope"></span></span></dd>
153        <dd><a href="predicates.html#predicates_mode">Mode directive</a><span class="leader"></span><span class="page-ref"><span class="predicates_mode"></span></span></dd>
154        <dd><a href="predicates.html#predicates_meta">Meta-predicate directive</a><span class="leader"></span><span class="page-ref"><span class="predicates_meta"></span></span></dd>
155        <dd><a href="predicates.html#predicates_discontiguous">Discontiguous directive</a><span class="leader"></span><span class="page-ref"><span class="predicates_discontiguous"></span></span></dd>
156        <dd><a href="predicates.html#predicates_dynamic">Dynamic directive</a><span class="leader"></span><span class="page-ref"><span class="predicates_dynamic"></span></span></dd>
157        <dd><a href="predicates.html#predicates_op">Operator directive</a><span class="leader"></span><span class="page-ref"><span class="predicates_op"></span></span></dd>
158        <dd><a href="predicates.html#predicates_uses">Uses directive</a><span class="leader"></span><span class="page-ref"><span class="predicates_uses"></span></span></dd>
159        <dd><a href="predicates.html#predicates_alias">Alias directive</a><span class="leader"></span><span class="page-ref"><span class="predicates_alias"></span></span></dd>
160        <dd><a href="predicates.html#predicates_info">Documenting directive</a><span class="leader"></span><span class="page-ref"><span class="predicates_info"></span></span></dd>
161    <dt><a href="predicates.html#predicates_defining">Defining predicates</a><span class="leader"></span><span class="page-ref"><span class="predicates_defining"></span></span></dt>
162        <dd><a href="predicates.html#predicates_objects">Object predicates</a><span class="leader"></span><span class="page-ref"><span class="predicates_objects"></span></span></dd>
163        <dd><a href="predicates.html#predicates_categories">Category predicates</a><span class="leader"></span><span class="page-ref"><span class="predicates_categories"></span></span></dd>
164        <dd><a href="predicates.html#predicates_metadef">Meta-predicates</a><span class="leader"></span><span class="page-ref"><span class="predicates_metadef"></span></span></dd>
165        <dd><a href="predicates.html#predicates_dcgs">Definite clause grammars</a><span class="leader"></span><span class="page-ref"><span class="predicates_dcgs"></span></span></dd>
166    <dt><a href="predicates.html#predicates_methods">Built-in object predicates (methods)</a><span class="leader"></span><span class="page-ref"><span class="predicates_methods"></span></span></dt>
167        <dd><a href="predicates.html#predicates_context">Execution context methods</a><span class="leader"></span><span class="page-ref"><span class="predicates_context"></span></span></dd>
168        <dd><a href="predicates.html#predicates_database">Database methods</a><span class="leader"></span><span class="page-ref"><span class="predicates_database"></span></span></dd>
169        <dd><a href="predicates.html#predicates_metacalls">Meta-call methods</a><span class="leader"></span><span class="page-ref"><span class="predicates_metacalls"></span></span></dd>
170        <dd><a href="predicates.html#predicates_solutions">All solutions methods</a><span class="leader"></span><span class="page-ref"><span class="predicates_solutions"></span></span></dd>
171        <dd><a href="predicates.html#predicates_reflection">Reflection methods</a><span class="leader"></span><span class="page-ref"><span class="predicates_reflection"></span></span></dd>
172        <dd><a href="predicates.html#predicates_parsing">Definite clause grammar parsing methods</a><span class="leader"></span><span class="page-ref"><span class="predicates_parsing"></span></span></dd>
173        <dd><a href="predicates.html#predicates_expanding">Term and goal expansion methods</a><span class="leader"></span><span class="page-ref"><span class="predicates_expanding"></span></span></dd>
174    <dt><a href="predicates.html#predicates_properties">Predicate properties</a><span class="leader"></span><span class="page-ref"><span class="predicates_properties"></span></span></dt>
175    <dt><a href="predicates.html#predicates_finding">Finding declared predicates</a><span class="leader"></span><span class="page-ref"><span class="predicates_finding"></span></span></dt>
176    <dt><a href="predicates.html#predicates_prolog">Calling Prolog built-in predicates</a><span class="leader"></span><span class="page-ref"><span class="predicates_prolog"></span></span></dt>
177        <dd><a href="predicates.html#predicates_prolog_meta">Calling Prolog non-standard meta-predicates</a><span class="leader"></span><span class="page-ref"><span class="predicates_prolog_meta"></span></span></dd>
178</dl>
179
180<h2><a id="inheritance" href="inheritance.html">Inheritance</a></h2>
181
182<dl class="toc-entries">
183    <dt><a href="inheritance.html#inheritance_protocol">Protocol inheritance</a><span class="leader"></span><span class="page-ref"><span class="inheritance_protocol"></span></span></dt>
184        <dd><a href="inheritance.html#inheritance_protocol_prototype">Search order for prototype hierarchies</a><span class="leader"></span><span class="page-ref"><span class="inheritance_protocol_prototype"></span></span></dd>
185        <dd><a href="inheritance.html#inheritance_protocol_class">Search order for class hierarchies</a><span class="leader"></span><span class="page-ref"><span class="inheritance_protocol_class"></span></span></dd>
186    <dt><a href="inheritance.html#inheritance_implementation">Implementation inheritance</a><span class="leader"></span><span class="page-ref"><span class="inheritance_implementation"></span></span></dt>
187        <dd><a href="inheritance.html#inheritance_implementation_prototype">Search order for prototype hierarchies</a><span class="leader"></span><span class="page-ref"><span class="inheritance_implementation_prototype"></span></span></dd>
188        <dd><a href="inheritance.html#inheritance_implementation_class">Search order for class hierarchies</a><span class="leader"></span><span class="page-ref"><span class="inheritance_implementation_class"></span></span></dd>
189        <dd><a href="inheritance.html#inheritance_implementation_redefinition">Inheritance versus predicate redefinition</a><span class="leader"></span><span class="page-ref"><span class="inheritance_implementation_redefinition"></span></span></dd>
190    <dt><a href="inheritance.html#inheritance_types">Public, protected, and private inheritance</a><span class="leader"></span><span class="page-ref"><span class="inheritance_types"></span></span></dt>
191    <dt><a href="inheritance.html#inheritance_composition">Composition versus multiple inheritance</a><span class="leader"></span><span class="page-ref"><span class="inheritance_composition"></span></span></dt>
192</dl>
193
194<h2><a id="events" href="events.html">Event-driven Programming</a></h2>
195
196<dl class="toc-entries">
197    <dt><a href="events.html#events_definitions">Definitions</a><span class="leader"></span><span class="page-ref"><span class="events_definitions"></span></span></dt>
198        <dd><a href="events.html#events_event">Event</a><span class="leader"></span><span class="page-ref"><span class="events_event"></span></span></dd>
199        <dd><a href="events.html#events_monitor">Monitor</a><span class="leader"></span><span class="page-ref"><span class="events_monitor"></span></span></dd>
200    <dt><a href="events.html#events_generation">Event generation</a><span class="leader"></span><span class="page-ref"><span class="events_generation"></span></span></dt>
201    <dt><a href="events.html#events_communicating">Communicating events to monitors</a><span class="leader"></span><span class="page-ref"><span class="events_communicating"></span></span></dt>
202    <dt><a href="events.html#events_performance">Performance concerns</a><span class="leader"></span><span class="page-ref"><span class="events_performance"></span></span></dt>
203    <dt><a href="events.html#events_semantics">Monitor semantics</a><span class="leader"></span><span class="page-ref"><span class="events_semantics"></span></span></dt>
204    <dt><a href="events.html#events_order">Activation order of monitors</a><span class="leader"></span><span class="page-ref"><span class="events_order"></span></span></dt>
205    <dt><a href="events.html#events_handling">Event handling</a><span class="leader"></span><span class="page-ref"><span class="events_handling"></span></span></dt>
206        <dd><a href="events.html#events_finding">Finding defined events</a><span class="leader"></span><span class="page-ref"><span class="events_finding"></span></span></dd>
207        <dd><a href="events.html#events_defining">Defining new events</a><span class="leader"></span><span class="page-ref"><span class="events_defining"></span></span></dd>
208        <dd><a href="events.html#events_abolishing">Abolishing defined events</a><span class="leader"></span><span class="page-ref"><span class="events_abolishing"></span></span></dd>
209        <dd><a href="events.html#events_handlers">Defining event handlers</a><span class="leader"></span><span class="page-ref"><span class="events_handlers"></span></span></dd>
210</dl>
211
212<h2><a id="threads" href="threads.html">Multi-threading Programming</a></h2>
213
214<dl class="toc-entries">
215    <dt><a href="threads.html#threads_enabling">Enabling multi-threading support</a><span class="leader"></span><span class="page-ref"><span class="threads_enabling"></span></span></dt>
216    <dt><a href="threads.html#threads_directive">Enabling objects to make multi-threading calls</a><span class="leader"></span><span class="page-ref"><span class="threads_directive"></span></span></dt>
217    <dt><a href="threads.html#threads_builtins">Multi-threading built-in predicates</a><span class="leader"></span><span class="page-ref"><span class="threads_builtins"></span></span></dt>
218        <dd><a href="threads.html#threads_threaded">Proving goals concurrently using threads</a><span class="leader"></span><span class="page-ref"><span class="threads_threaded"></span></span></dd>
219        <dd><a href="threads.html#threads_call">Proving goals asynchronously using threads</a><span class="leader"></span><span class="page-ref"><span class="threads_call"></span></span></dd>
220        <dd><a href="threads.html#threads_ignore">One-way asynchronous calls</a><span class="leader"></span><span class="page-ref"><span class="threads_ignore"></span></span></dd>
221    <dt><a href="threads.html#threads_synchronized_predicates">Asynchronous calls and synchronized predicates</a><span class="leader"></span><span class="page-ref"><span class="threads_synchronized_predicates"></span></span></dt>
222    <dt><a href="threads.html#threads_notifications">Synchronizing threads through notifications</a><span class="leader"></span><span class="page-ref"><span class="threads_notifications"></span></span></dt>
223    <dt><a href="threads.html#threads_performance">Multi-threading performance</a><span class="leader"></span><span class="page-ref"><span class="threads_performance"></span></span></dt>
224</dl>
225
226<h2><a id="errors" href="errors.html">Error Handling</a></h2>
227
228<dl class="toc-entries">
229    <dt><a href="errors.html#errors_compiler">Compiler warnings and errors</a><span class="leader"></span><span class="page-ref"><span class="errors_compiler"></span></span></dt>
230        <dd><a href="errors.html#errors_wunknown">Unknown entities</a><span class="leader"></span><span class="page-ref"><span class="errors_wunknown"></span></span></dd>
231        <dd><a href="errors.html#errors_wsingletons">Singleton variables</a><span class="leader"></span><span class="page-ref"><span class="errors_wsingletons"></span></span></dd>
232        <dd><a href="errors.html#errors_wprolog">Redefinition of Prolog built-in predicates</a><span class="leader"></span><span class="page-ref"><span class="errors_wprolog"></span></span></dd>
233        <dd><a href="errors.html#errors_wpredicates">Redefinition of Logtalk built-in predicates</a><span class="leader"></span><span class="page-ref"><span class="errors_wpredicates"></span></span></dd>
234        <dd><a href="errors.html#errors_wmethods">Redefinition of Logtalk built-in methods</a><span class="leader"></span><span class="page-ref"><span class="errors_wmethods"></span></span></dd>
235        <dd><a href="errors.html#errors_wmisspell">Misspell calls of local predicates</a><span class="leader"></span><span class="page-ref"><span class="errors_wmisspell"></span></span></dd>
236        <dd><a href="errors.html#errors_wportability">Portability warnings</a><span class="leader"></span><span class="page-ref"><span class="errors_wportability"></span></span></dd>
237        <dd><a href="errors.html#errors_wothers">Other warnings and errors</a><span class="leader"></span><span class="page-ref"><span class="errors_wothers"></span></span></dd>
238    <dt><a href="errors.html#errors_runtime">Runtime errors</a><span class="leader"></span><span class="page-ref"><span class="errors_runtime"></span></span></dt>
239        <dd><a href="errors.html#errors_predicates">Logtalk built-in predicates</a><span class="leader"></span><span class="page-ref"><span class="errors_predicates"></span></span></dd>
240        <dd><a href="errors.html#errors_methods">Logtalk built-in methods</a><span class="leader"></span><span class="page-ref"><span class="errors_methods"></span></span></dd>
241        <dd><a href="errors.html#errors_sending">Message sending</a><span class="leader"></span><span class="page-ref"><span class="errors_sending"></span></span></dd>
242</dl>
243
244<h2><a id="documenting" href="documenting.html">Documenting Logtalk Programs</a></h2>
245
246<dl class="toc-entries">
247    <dt><a href="documenting.html#documenting_directives">Documenting directives</a><span class="leader"></span><span class="page-ref"><span class="documenting_directives"></span></span></dt>
248        <dd><a href="documenting.html#documenting_entity">Entity directives</a><span class="leader"></span><span class="page-ref"><span class="documenting_entity"></span></span></dd>
249        <dd><a href="documenting.html#documenting_predicate">Predicate directives</a><span class="leader"></span><span class="page-ref"><span class="documenting_predicate"></span></span></dd>
250    <dt><a href="documenting.html#documenting_processing">Processing and viewing documenting files</a><span class="leader"></span><span class="page-ref"><span class="documenting_processing"></span></span></dt>
251</dl>
252
253<h2><a id="installing" href="installing.html">Installing Logtalk</a></h2>
254
255<dl class="toc-entries">
256    <dt><a href="installing.html#installing_installing">Installing Logtalk</a><span class="leader"></span><span class="page-ref"><span class="installing_installing"></span></span></dt>
257    <dt><a hre