root/tags/lgt2310/manuals/glossary.html

Revision 3552, 11.1 KB (checked in by pmoura, 21 months ago)

Improved documentation.

  • 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: Glossary</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 documentation</div> 
17<div class="top-right">Glossary</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>Glossary</h1>
23
24<dl>
25
26<dt id="ancestor" class="glossary"><strong>ancestor</strong></dt>
27<dd>A class or parent that contributes (via inheritance) to the definition of an object. For class-based hierarchies, the ancestors of an object are its class(es) and all the superclasses of its class(es). For prototype-based hierarchies, the ancestors of an object are its parent(s) and the ancestors of its parent(s).</dd>
28
29<dt id="category" class="glossary"><strong>category</strong></dt>
30<dd>A set of predicates directives and clauses that can be imported by any object.</dd>
31
32<dt id="class" class="glossary"><strong>class</strong></dt>
33<dd>An object that defines the common predicates of a set of objects (its instances).</dd>
34
35<dd><dl>
36
37<dt id="abstractclass" class="glossary"><strong>abstract class</strong></dt>
38<dd>A class that cannot be instantiated. Usually used to store common predicates that are inherited by other classes.</dd>
39
40<dt id="metaclass" class="glossary"><strong>metaclass</strong></dt>
41<dd>The class of a class, when we see it as an object. Metaclass instances are themselves classes. In a reflexive system any metaclass is also an object.</dd>
42
43<dt id="subclass" class="glossary"><strong>subclass</strong></dt>
44<dd>A class that is a specialization, direct or indirectly, of another class.</dd>
45
46<dt id="superclass" class="glossary"><strong>superclass</strong></dt>
47<dd>A class from which another class is a specialization (directly or indirectly via another class).</dd>
48
49</dl></dd>
50
51<dt id="directive" class="glossary"><strong>directive</strong></dt>
52<dd>A Prolog/Logtalk term that affects the interpretation of Prolog/Logtalk code. Directives are represented using the <code>:-/1</code> prefix operator.</dd>
53
54<dd><dl>
55
56<dt id="entity_directive" class="glossary"><strong>entity directive</strong></dt>
57<dd>A directive that affects how Logtalk entities (objects, protocols, or categories) are used or compiled.</dd>
58
59<dt id="predicate_directive" class="glossary"><strong>predicate directive</strong></dt>
60<dd>A directive that affects how predicates are called or compiled.</dd>
61
62<dt id="source_file_directive" class="glossary"><strong>source file directive</strong></dt>
63<dd>A directive that affects how a source file is compiled.</dd>
64
65</dl></dd>
66
67<dt id="encapsulation" class="glossary"><strong>encapsulation</strong></dt>
68<dd>The hiding of an object implementation. This promotes software reuse by isolating users from implementation details.</dd>
69
70<dt id="entity" class="glossary"><strong>entity</strong></dt>
71<dd>Generic name for Logtalk compilation units: objects, categories, and protocols.</dd>
72
73<dt id="event" class="glossary"><strong>event</strong></dt>
74<dd>The sending of a message to an object. An event can be expressed as an ordered tuple: <code>(Event, Object, Message, Sender)</code>. Logtalk distinguish between the sending of a message - <code>before</code> event - and the return of control to the sender - <code>after</code> event.</dd>
75
76<dt id="grammar_rule" class="glossary"><strong>grammar rule</strong></dt>
77<dd>An alternative notation for predicates used to parse or generate sentences on some language. This notation hides the arguments used to pass the lists of tokens being processed, thus simplifying the representation of grammars. Grammar rules are represented using the infix operator <code>--&gt;/2</code> instead of the operator used on predicate clauses (<code>:-/2</code>).</dd>
78
79<dd><dl>
80
81<dt id="non_terminal" class="glossary"><strong>grammar rule non-terminal</strong></dt>
82<dd>A syntactic category of words of phrases. A non-terminal is identified by its name and number of arguments using the notation <code>&lt;name&gt;//&lt;nargs&gt;</code>.</dd>
83
84<dt id="terminal" class="glossary"><strong>grammar rule terminal</strong></dt>
85<dd>A word or a basic symbol of a language.</dd>
86
87</dl></dd>
88
89<dt id="identity" class="glossary"><strong>identity</strong></dt>
90<dd>Property of an entity that distinguishes it from every other entity. In Logtalk, an object identity can be an atom or a compound term. Category and protocol identities must be atoms. All Logtalk entities (objects, protocols, and categories) share the same name space.</dd>
91
92<dt id="inheritance" class="glossary"><strong>inheritance</strong></dt>
93<dd>An object inherits predicate directives and clauses from other objects that it extends or specializes. If an object extends other object then we have a prototype-based inheritance. If an object specializes or instantiates another object we have a class-based inheritance.</dd>
94
95<dd><dl>
96
97<dt id="private_inheritance" class="glossary"><strong>private inheritance</strong></dt>
98<dd>All public and protected predicates are inherited as private predicates.</dd>
99
100<dt id="protected_inheritance" class="glossary"><strong>protected inheritance</strong></dt>
101<dd>All public predicates are inherited as protected. No change for protected or private predicates.</dd>
102
103<dt id="public_inheritance" class="glossary"><strong>public inheritance</strong></dt>
104<dd>All inherited predicates maintain the declared scope.</dd>
105
106</dl></dd>
107
108<dt id="instance" class="glossary"><strong>instance</strong></dt>
109<dd>The same as object. This term is used when we want to emphasize that an object characteristics are defined by another object (its class).</dd>
110
111<dt id="instantiation" class="glossary"><strong>instantiation</strong></dt>
112<dd>The process of creating a new class instance. In Logtalk, this does not necessarily implies dynamic creation of an object at runtime; an instance may also be defined as a static object in a source file.</dd>
113
114<dt id="library" class="glossary"><strong>library</strong></dt>
115<dd>A directory containing source files. The directory name is used as the library name.</dd>
116
117<dt id="message" class="glossary"><strong>message</strong></dt>
118<dd>A request for a service, sent to an object. In more logical terms, a message can be seen as a request for proof construction using an object's predicates.</dd>
119
120<dt id="metainterpreter" class="glossary"><strong>metainterpreter</strong></dt>
121<dd>A program capable of running other programs written in the same language.</dd>
122
123<dt id="method" class="glossary"><strong>method</strong></dt>
124<dd>Set of predicate clauses used to answer a message sent to an object. Logtalk uses dynamic binding to find which method to run to answer a message.</dd>
125
126<dt id="monitor" class="glossary"><strong>monitor</strong></dt>
127<dd>Any object that is notified when a spied event occurs. The spied events can be set by the monitor itself or by any other object.</dd>
128
129<dt id="object" class="glossary"><strong>object</strong></dt>
130<dd>An entity characterized by an identity and a set of predicate directives and clauses. Logtalk objects can be either static or dynamic. Logtalk objects can play the role of classes, instances, or prototypes.</dd>
131
132<dd><dl>
133
134<dt id="parametric" class="glossary"><strong>parametric object</strong></dt>
135<dd>An object whose name is a compound term containing free variables that can be used to parameterize the object predicates.</dd>
136
137<dt id="parametric_proxy" class="glossary"><strong>parametric object proxy</strong></dt>
138<dd>A compound term with the same functor and usually with the same number of arguments as the identifier of a parametric object.</dd>
139
140</dl></dd>
141
142
143<dt id="parent" class="glossary"><strong>parent</strong></dt>
144<dd>A prototype that is extended by another prototype.</dd>
145
146<dt id="predicate" class="glossary"><strong>predicate</strong></dt>
147<dd>Predicates describe what is true about the application domain. A predicate is identified by its name and number of arguments using the notation <code>&lt;name&gt;/&lt;nargs&gt;</code>.</dd>
148
149<dd><dl>
150
151<dt id="local_predicate" class="glossary"><strong>local predicate</strong></dt>
152<dd>A predicate that is defined in an object (or in a category) but that is not listed in a scope directive. These predicates behave like private predicates but are invisible to the reflection built-in methods. Local predicates are usually auxiliary predicates, only relevant to the entity where they are defined.</dd>
153
154<dt id="meta-predicate" class="glossary"><strong>meta-predicate</strong></dt>
155<dd>A predicate where one of its arguments will be called as a goal. For instance, <code>findall/3</code> and <code>call/1</code> are Prolog built-ins meta-predicates.</dd>
156
157<dt id="private_predicate" class="glossary"><strong>private predicate</strong></dt>
158<dd>A predicate that can only be called from the object that contains the scope directive.</dd>
159
160<dt id="protected_predicate" class="glossary"><strong>protected predicate</strong></dt>
161<dd>A predicate that can only be called from the object containing the scope directive or from an object that inherits the predicate.</dd>
162
163<dt id="public_predicate" class="glossary"><strong>public predicate</strong></dt>
164<dd>A predicate that can be called from any object.</dd>
165
166<dt id="visible_predicate" class="glossary"><strong>visible predicate</strong></dt>
167<dd>A predicate that is declared for an object, a built-in method, or a Prolog/Logtalk built-in predicate.</dd>
168
169</dl></dd>
170
171<dt id="profiler" class="glossary"><strong>profiler</strong></dt>
172<dd>A program that collects data about other program performance.</dd>
173
174<dt id="protocol" class="glossary"><strong>protocol</strong></dt>
175<dd>A set of predicates directives that can be implemented by an object or a category (or extended by another protocol).</dd>
176
177<dt id="prototype" class="glossary"><strong>prototype</strong></dt>
178<dd>A self-describing object that may extend or be extended by other objects.</dd>
179
180<dt id="self" class="glossary"><strong>self</strong></dt>
181<dd>The original object that received the message under processing.</dd>
182
183<dt id="sender" class="glossary"><strong>sender</strong></dt>
184<dd>An object that sends a message to other object.</dd>
185
186<dt id="specialization" class="glossary"><strong>specialization</strong></dt>
187<dd>A class is specialized by constructing a new class that inherit its predicates and possibly add new ones.</dd>
188
189<dt id="this" class="glossary"><strong>this</strong></dt>
190<dd>The object that contains the predicate clause under execution.</dd>
191
192</dl>
193
194<div class="footer">
195    <div class="copyright">
196        <span>Copyright &copy; <a href="mailto:pmoura@logtalk.org">Paulo Moura</a> &mdash; <a href="http://logtalk.org">Logtalk.org</a></span><br/> 
197        <span>Last updated on: April 14, 2007</span>
198    </div>
199    <div class="navbottom">
200        <span>&nbsp;</span><br/>
201        <span><a href="http://validator.w3.org/check/referer">XHTML</a> + <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a></span>
202    </div>
203</div>
204
205</body>
206
207</html>
Note: See TracBrowser for help on using the browser.