Received: from mail.proteosys.com ([213.139.130.197]) by nummer-3.proteosys with Microsoft SMTPSVC(6.0.3790.3959); Tue, 11 Dec 2007 13:05:20 +0100 Received: by mail.proteosys.com (8.13.8/8.13.8) with ESMTP id lBBC5Etj005738 for ; Tue, 11 Dec 2007 13:05:14 +0100 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 lBBBtf1k026983 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 11 Dec 2007 12:55:42 +0100 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id lBAN1AJY027990; Tue, 11 Dec 2007 12:57:40 +0100 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 15.0) with spool id 223214 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Tue, 11 Dec 2007 12:57:39 +0100 Received: from relay2.uni-heidelberg.de (relay2.uni-heidelberg.de [129.206.210.211]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id lBBBvdB6025261 for ; Tue, 11 Dec 2007 12:57:39 +0100 Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.171]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id lBBBtQNA026736 for ; Tue, 11 Dec 2007 12:55:30 +0100 Received: by ug-out-1314.google.com with SMTP id 30so269558ugc.1 for ; Tue, 11 Dec 2007 03:57:30 -0800 (PST) Received: by 10.67.21.11 with SMTP id y11mr891974ugi.10.1197374250727; Tue, 11 Dec 2007 03:57:30 -0800 (PST) Received: from macintosh.local ( [130.225.73.234]) by mx.google.com with ESMTPS id 30sm9910408ugf.2007.12.11.03.57.26 (version=SSLv3 cipher=OTHER); Tue, 11 Dec 2007 03:57:29 -0800 (PST) Content-Type: text/plain; format=flowed; delsp=yes; charset=iso-8859-1 MIME-Version: 1.0 References: <87k5nxw76i.fsf@buckbeak.hogwarts> <87tzmwkdnr.fsf@buckbeak.hogwarts> <18269.25346.697845.365250@morse.mittelbach-online.de> Content-Transfer-Encoding: 7bit User-Agent: Opera Mail/9.24 (MacPPC) Message-ID: Date: Tue, 11 Dec 2007 12:57:24 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: =?iso-8859-1?Q?Morten_H=F8gholm?= Subject: Re: Misleading cs names? To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <18269.25346.697845.365250@morse.mittelbach-online.de> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-ProteoSys-SPAM-Score: -102.599 () BAYES_00,USER_IN_WHITELIST X-Scanned-By: MIMEDefang 2.57 on 213.139.130.197 Return-Path: owner-latex-l@LISTSERV.UNI-HEIDELBERG.DE X-OriginalArrivalTime: 11 Dec 2007 12:05:20.0498 (UTC) FILETIME=[1A06FD20:01C83BEE] Status: R X-Status: X-Keywords: X-UID: 5119 On Mon, 10 Dec 2007 17:02:10 +0100, Frank Mittelbach wrote: > Let us step back and reevaluate what the arg forms are supposed to mean: > [...] > It makes no statements about what \foo:nnn does with the arguments it > receives. Yes, this is important I think. An n form may well be used by a function to construct as csname internally (l3xref is an example). > Some people have suggested we shouldn't provide the short forms, though > I feel > that they make life much easier once you get the hang of it, (I can only say that I feel the same way as you.) > but in any > case they are only shorts for "manipulate some arguments prior to > passing them to a function" Agreed. > There is a bit of inconsistency here in that something like T F are arg > specifiers that give information about the argument purpose rather than > about > a manipulation of the argument and perhaps some of the concepts should be > reviewed and unified -- but the direction should be less arg specifiers > not more If we have predicate functions \..._p:NN, what if the TF were called \..._t:NNn, \..._f:NNn, and \..._t_f:NNnn instead? Besides removing two argument specifiers, it would also mean we could do something better about monstrosities such as \bool_double_if:NNnnnn which was something I needed somewhere but I knew the name was terrible (from l3prg): % Execute |#3| iff TT, |#4| iff TF, |#5| iff FT and |#6| iff % FF. The name isn't that great but I'll have to think about % that. Ideally it should be something with |TF| since only one of % the cases is executed but we haven't got any naming scheme for % this kind of thing so for now I'll just stick to simple |nnnn|. With the slightly different syntax they could be \bool_if_t:Nn {} \bool_if_t_f:Nnn {} {} \bool_if_tt:NNn {} \bool_if_tt_tf_ft_ff:NNnnnn {} {} {} {} which I think isn't so bad at all. -- Morten