On Tue, 7 Jan 2003, Greg Matheson wrote:
> It's like when you're talking about $LOGNAME, for example, isn't
> it? Are you talking about the variable or the value? For
> drivers, is it the driver as a concept, or as an instance?
Yes. This is a common difficult concept. See "Alice Through The Looking
Glass", where there is a sequence along the lines of:
The name of the song is called W
The name of the song is X
The song is called Y
The song is Z
all of which just serves to confuse (which of course is the idea in
ATTLG).
I used the word "driver" in Exim 3 (and earlier) because it was copied
from Smail, and before Exim 4 we had directors/routers/transports/authen-
ticators and it was far too clumsy without a single word that covered
all of them.
In Exim 4, it's easier because there are no more directors, and in
talking about delivery, "routers or transports" isn't too much of a long
phrase.
However, it is easy to be sloppy when writing/talking about these things
because people don't always bother to distinguish between:
(1) The code that implements the drivers.
(2) An *instance* of the use of one of the drivers, specified in the
configuration file.
I am certainly guilty of this. I'm afraid the new book probably
perpetrates this confusion as well.
What we need is a new word that means (2). Then, when you see something
like
system_aliases:
driver = redirect
you could say "system_aliases is the XXX (the instance); it uses the
redirect driver as its code".
But in practice people say "the system_aliases driver" or "the
system_aliases router", meaning the *instance*, and "the redirect
driver", meaning the underlying block of code.
The manual is due for a major editing session at some point. Probably in
a couple of months' time after I clear off some more of the Wish List. I
will try to expand 6.14 to improve the explanation of all of this.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.