Am 13.09.2012 04:15, schrieb Joel C. Salomon:
> The use of `\@@_function:nn` implies that the initial function is itself
> an internal one. Sometime that will be the case, of course, but I think
> `\pkg_function:nn` would make a better primary.
> (Thinking aloud: Unless the intention is that `\pkg_function:nn` is the
> primary and `\@@_function:nn` ==> `\__pkg_function:nn` is the first
> auxiliary? but then you'd have said that.)
I think you are right and the intention is not yet properly described.
My nomenclature would be something like this:
is an interface function of the package to the outside world, eg what
other packages should use and should be able to rely on.
\__pkg_function:... aka \@@_function:... for short
is an "internal" package function that is used within the package but
shouldn't be used outside and its implementation and semantics are not
to be relied on by anybody
Now sometimes one has a need for helper functions that are only be used
once to implement an internal function, typically when doing some
complicated token parsing. Those functions are the one we call
"auxiliary" functions and if they are needed they get the string "_aux"
in the name.
\@@_function:... is the internal one
\@@_function_aux:... is used to implement just the \@@_function:...
if more than one "auxiliary is needed for implementing a single function
then either they are distinguished by the arg signature or by "_auxi"
point is that the "_aux" are intended to help just with a *single*
command implementation. If it turns out that one reuses an "_aux"
function several times, it would be better to give it a separate
descriptive name and make it an internal function and not an auxiliary.
perhaps I should also mention that (though not that likely) you may also
have the situation that an interface function needs an auxiliary, eg