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