Glossary
- ancestor
- A class or parent that contributes (via inheritance) to the definition of an object. The ancestors of an object are its class and all the superclasses of its class (in class-based hierarchies) or its parent and the ancestors of its parent (in prototype-based hierarchies).
- category
- A set of predicates directives and clauses that can be imported by any object.
- class
- An object that defines the common predicates of a set of objects (its instances).
- abstract class
- A class that can not be instantiated. Usually used to store common predicates that are inherited by other classes.
- metaclass
- 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.
- subclass
- A class that is a specialization, direct or indirectly, of another class.
- superclass
- A class from each another class is a specialization (direct or indirectly, via another class).
- directive
- A Prolog term that affects the interpretation of Prolog code. Directives are represented using the
:-/1
prefix functor.
- entity directive
- A directive that affects how Logtalk entities (objects, protocols, or categories) are used or compiled.
- predicate directive
- A directive that affects how predicates are called or compiled.
- encapsulation
- The hiding of an object implementation. This promotes software reuse by isolating users from implementation details.
- entity
- Generic name for Logtalk compilation units: objects, categories and protocols.
- event
- The sending of a message to an object. An event can be expressed as an ordered tuple:
(Event, Object, Message, Sender)
. Logtalk distinguish between the sending of a message - before
event - and the return of control to the sender - after
event.
- identity
- Property of an entity that distinguish it from every other entity. In Logtalk an entity identity can be an atom or a compound term. All Logtalk entities, objects, protocols and categories share the same name space.
- inheritance
- 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.
- private inheritance
- All public and protected predicates are inherited as private predicates.
- protected inheritance
- All public predicates are inherited as protected. No change for protected or private predicates.
- public inheritance
- All inherited predicates maintain the declared scope.
- instance
- The same as object. This term is used when we want to emphasize that an object characteristics are defined by another object (its class).
- instantiation
- The process of creating a new class instance.
- message
- 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.
- metainterpreter
- A program capable of running other programs written in the same language.
- method
- 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.
- monitor
- Any object that is notified when a spied event occurs. The spied events can be set by the monitor or by any other object.
- object
- An entity characterized by an identity and a set of predicate directives and clauses. In Logtalk objects can be either static or dynamic, like any other Prolog code.
- parametric object
- An object whose name is a compound term containing free variables that can be used to parameterize the object predicates.
- parent
- An object that is extended by another object.
- predicate
- Predicates describe what is true about the application domain. A predicate is identified by its name and number of arguments using the notation
<name>/<nargs>
.
- local predicate
- 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 methods.
- metapredicate
- A predicate where one of its arguments will be called as a goal. For instance,
findall/3
and call/1
are Prolog built-ins metapredicates.
- private predicate
- A predicate that can only be called from the object that contains the scope directive.
- protected predicate
- A predicate that can only be called from the object containing the scope directive or from an object that inherits the predicate.
- public predicate
- A predicate that can be called from any object.
- visible predicate
- A predicate that is declared for an object, a built-in method, or a Prolog or Logtalk built-in predicate.
- profiler
- A program that collects data about other program performance.
- protocol
- A set of predicates directives that can be implemented by an object or a category (or extended by another protocol).
- prototype
- A self-describing object that may extend or be extended by other objects.
- self
- The original object that received the message under execution.
- sender
- An object that sends a message to other object.
- specialization
- A class is specialized by constructing a new class that inherit its predicates and possibly add new ones.
- this
- The object that contains the predicate clause under execution.