Permalink
Browse files

Add glossary entry for "component"

  • Loading branch information...
pmoura committed Feb 10, 2019
1 parent c8d0548 commit 627a78556efafa9dae67c05d807e5c9b39aed661

Some generated files are not rendered by default. Learn more.

Oops, something went wrong.

Some generated files are not rendered by default. Learn more.

Oops, something went wrong.

Some generated files are not rendered by default. Learn more.

Oops, something went wrong.

Some generated files are not rendered by default. Learn more.

Oops, something went wrong.

Some generated files are not rendered by default. Learn more.

Oops, something went wrong.
BIN +1 Byte (100%) manuals/objects.inv
Binary file not shown.

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -382,7 +382,7 @@ Glossary
between interface and implementation, can be implemented by both
objects and categories, and can be extended by other protocols. A
protocol should be functionally-cohesive, specifying a single
functionality.
functionality. Also known as *interface*.

interface
See :term:`protocol`.
@@ -438,6 +438,11 @@ Glossary
A :term:`source file` whose main purpose is to load and a run a set of
unit tests.

component
A unique atom identifying a library, tool, application, or application
sub-system. Component names are notably used by the message printing
and question asking mechanisms.

scratch directory
The directory used to save the intermediate Prolog files generated by
the compiler when compiling :term:`source files <source file>`.
@@ -163,10 +163,11 @@ predicate. For example:

yes

When compiling a source file, the compiler will first try the source file
specific hook object, if defined. If that fails, it tries the default hook
object, if defined. If that also fails, the compiler tries the Prolog dialect
specific expansion predicate definitions if defined in the adapter file.
When compiling a source file, the compiler will first try the source
file specific hook object, if defined. If that fails, it tries the
default hook object, if defined. If that also fails, the compiler tries
the Prolog dialect specific expansion predicate definitions if defined
in the :term:`adapter file`.

.. note::

@@ -128,14 +128,15 @@ from a specific component or library and also avoiding conflicts when two
components happen to define the same message term (e.g. ``banner``). Users
should choose and use a unique name for a component, which usually is
the name of the component itself. For example, all messages from the
``lgtunit`` tool use ``lgtunit`` for the component argument.
``lgtunit`` tool use ``lgtunit`` for the component argument. The compiler
and runtime are interpreted as a single component designated as ``core``.

The third argument of ``print_message/3`` is the message itself, represented
by a term. In the above example, the message term is ``banner``. Using a
term to represent a message instead of a string with the message text itself
have significant advantages. Notably, it simplifies machine-processing, and
allows using a compound term for easy parameterization of the message text.
For example:
have significant advantages. Notably, it allows using a compound term for
easy parameterization of the message text and simplifies machine-processing,
localization of applications, and message interception. For example:

.. code-block:: text

@@ -144,9 +145,6 @@ For example:
% Redefining object foo
yes

Localization of messages also become possible without changing the
``print_message/3`` predicate calls.

Message tokenization
--------------------

Some generated files are not rendered by default. Learn more.

Oops, something went wrong.

Some generated files are not rendered by default. Learn more.

Oops, something went wrong.

0 comments on commit 627a785

Please sign in to comment.