Dear all,
On 13/08/2009, at 11:27 AM, Will Robertson wrote:
>> IMO, it is certainly ok to keep the terminology, but adding
>> warnings that
>> sometimes it doesn't actually fit the reality, but is only intended
>> to simplify
>> reading. (Either a big general warning, or small foonotes in well-
>> chosen places,
>> or both.)
>
> I'll try and work something into source3.
A few minutes before lunch yields:
> \subsubsection{Terminological inexactitude}
>
> A word of warning. In this document, and others referring to the
> \pkg{expl3}
> programming modules, we often refer to `variables' and `functions'
> as if
> they were actual constructs from a real programming language.
> In truth, \TeX\ is a macro processor, and functions are simply
> macros that
> may or mayn't take arguments and expand to their replacement text.
> Many of the common variables are \emph{also} macros, and if placed
> into the
> input stream will simply expand to their definition as well~--- a
> `function'
> with no arguments and a `token list variable' are in truth one and
> the same.
> On the other hand, some `variables' are actually registers that must
> be initialised and their values set and retreived with specific
> functions.
>
> The conventions of the \pkg{expl3} code are designed to clearly
> separate the
> ideas of `macros that contain data' and `macros that contain code',
> and a consistent wrapper is applied to all forms of `data' whether
> they be macros or actually registers.
> This means that sometimes we will use phrases like `the function
> returns a value', when actually we just mean `the macro expands to
> something'. Similarly, the term `execute' might be used in place of
> `expand' or it might refer to the more specific case of `processing
> in \TeX's stomach' (if you are familiar with the \TeX{}book parlance).
>
> If in doubt, please ask; chances are we've been hasty in writing
> certain definitions and need to be told to tighten up our terminology.
WDYT?
(I'm not worried about red pen.)
Will
|