4.1.3.2 Advantages
So, why would you want to use constructors directly or mix declarative
and imperative forms in defsynopsis
? There are several reasons
for doing so.
- Some people prefer to declare (or should I say, create) their arbitrary
texts, options and groups locally, in files, modules or ASDF components
where they belong. In such a case, you need to keep references to the
corresponding objects in order to compute the synopsis in the end.
- Since using constructors explicitly allows you to keep references to
the created objects, these objects can be reused. For instance,
you can use the same text at different places, you can also use a single
option several times, or even a single group several times so that its
items appear in different places etc. Note that
Clon
knows its way
around multiple occurrences of the same object: even if you use the same
option object several times in a synopsis, Clon
only maintains a
single option definition.