Received: from mx0.gmx.net (mx0.gmx.net [213.165.64.100]) by h1439878.stratoserver.net (8.14.2/8.14.2/Debian-2build1) with SMTP id q78LgDWS012114 for ; Wed, 8 Aug 2012 23:42:14 +0200 Received: (qmail 17909 invoked by alias); 8 Aug 2012 21:42:08 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 08 Aug 2012 21:42:08 -0000 Received: from relay2.uni-heidelberg.de (EHLO relay2.uni-heidelberg.de) [129.206.210.211] by mx0.gmx.net (mx062) with SMTP; 08 Aug 2012 23:42:08 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id q78LeJEe016284 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 8 Aug 2012 23:40:19 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.8/8.13.1) with ESMTP id q78L1qJx008220; Wed, 8 Aug 2012 23:40:19 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 2611545 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Wed, 8 Aug 2012 23:40:19 +0200 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.8/8.13.1) with ESMTP id q78LeJCa008520 for ; Wed, 8 Aug 2012 23:40:19 +0200 Received: from smtp.demon.co.uk (mdfmta009.mxout.tch.inty.net [91.221.169.50]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id q78Le6ZC015053 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 8 Aug 2012 23:40:10 +0200 Received: from mdfmta009.tch.inty.net (unknown [127.0.0.1]) by mdfmta009.tch.inty.net (Postfix) with ESMTP id 9507F128075 for ; Wed, 8 Aug 2012 22:40:06 +0100 (BST) Received: from mdfmta009.tch.inty.net (unknown [127.0.0.1]) by mdfmta009.tch.inty.net (Postfix) with ESMTP id 74315128074 for ; Wed, 8 Aug 2012 22:40:06 +0100 (BST) Received: from palladium.local (unknown [80.176.134.7]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mdfmta009.tch.inty.net (Postfix) with ESMTP for ; Wed, 8 Aug 2012 22:40:05 +0100 (BST) User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 References: X-Enigmail-Version: 1.4.3 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-MDF-HostID: 22 Message-ID: <5022DCB7.4070702@morningstar2.co.uk> Date: Wed, 8 Aug 2012 22:40:07 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Joseph Wright Subject: Re: Referring to a family of function variants To: LATEX-L@listserv.uni-heidelberg.de In-Reply-To: Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-GMX-Antispam: 0 (Sender is in whitelist: joseph.wright@MORNINGSTAR2.CO.UK); Detail=5D7Q89H36p4L00VTXC6D4q0N+AH0PUCnBi0P5cROEGjO+pG7NAH/K+tf9SrVFtpLrKONl 2T9EL4W4U4jgzLbnCcGpk1z/zwmKT/K1fv3lD0=V1; X-Resent-By: Forwarder X-Resent-For: rainer.schoepf@gmx.net X-Resent-To: rainer@rainer-schoepf.de Status: R X-Status: X-Keywords: X-UID: 7112 On 08/08/2012 22:33, Joel C. Salomon wrote: > Hi again. > > Is there some preferred style for referring to a family of function > variants? For example, from xpeek: > > % \begin{macro}[aux]{\@@_if_in:NNTF} > % \begin{arguments} > % \item Token-list to search through (the “haystack”) > % \item Token to search for (the “needle”) > % \end{arguments} > % Among the \cs{tl_if_in:**\textit{TF}} conditionals > % defined in \pkg{expl3}, \cs{tl_if_in:NNTF} is missing. > % But since that’s the functionality I need, define it: > % \begin{macrocode} > > Is “\tl_if_in:**TF” (with or without “TF” being italicized) a > recognizable, non-ambiguous way to refer to those functions as a set, > or is there a nomenclature already in use that I should rather adopt? > > —Joel > The team docs use something akin to regex syntax for this, but with a slight 'twist'. In particular \@@_if_in:NN(TF) is used to refer to \@@_if_in:NNT, \@@_if_in:NNF and \@@_if_in:NNTF, but also \@@_if_in_p:NN if it exists. On the other hand, something like \@@_set:(N|c)n would refer to \@@_set:Nn and \@@_set:cn. Often, within a syntax block the approach take is to refer to a 'base' function only, so \@@_set:Nn, with the implication being that 'the same follows' for variants as there is a defined relationship between these. -- Joseph Wright