LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Sender: Mailing list for the LaTeX3 project <[log in to unmask]>
Date: Thu, 13 Sep 2012 08:29:45 +0100
Reply-To: Mailing list for the LaTeX3 project <[log in to unmask]>
Message-ID: <[log in to unmask]>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
In-Reply-To: <[log in to unmask]>
Content-Type: text/plain; charset=UTF-8
From: Joseph Wright <[log in to unmask]>
Parts/Attachments: text/plain (61 lines)
On 13/09/2012 08:02, Frank Mittelbach wrote:
> 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:
> 
> \pkg_function:...
> 
> 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.
> 
> So
> 
> \@@_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"
> "_auxii" etc.
> 
> 
> 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.

Do you want to revise this or shall I?

> perhaps I should also mention that (though not that likely) you may also
> have the situation that an interface function needs an auxiliary, eg
> 
> \pkg_function:...
> \@@_function_aux:...


Unlikely, as this should be covered by

  \pkg_function:...
  \__pkg_function_aux:...
-- 
Joseph Wright

ATOM RSS1 RSS2