Received: from mail.proteosys.com ([213.139.130.197]) by nummer-3.proteosys with Microsoft SMTPSVC(6.0.3790.3959); Fri, 12 Sep 2008 13:57:08 +0200 Received: by mail.proteosys.com (8.13.8/8.13.8) with ESMTP id m8CBv2T9026302 for ; Fri, 12 Sep 2008 13:57:03 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id m8CBnmB3000762 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 12 Sep 2008 13:49:49 +0200 Received: from listserv.uni-heidelberg.de (localhost.localdomain [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id m8BM16fp032237; Fri, 12 Sep 2008 13:49:47 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 15.5) with spool id 31028 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Fri, 12 Sep 2008 13:49:47 +0200 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 m8CBnl8M028550 for ; Fri, 12 Sep 2008 13:49:47 +0200 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 m8CBnllM024474 for ; Fri, 12 Sep 2008 13:49:51 +0200 Received: by ug-out-1314.google.com with SMTP id k40so1266812ugc.38 for ; Fri, 12 Sep 2008 04:49:43 -0700 (PDT) Received: by 10.67.10.18 with SMTP id n18mr8294536ugi.27.1221220183628; Fri, 12 Sep 2008 04:49:43 -0700 (PDT) Received: from macintosh.local ( [89.150.182.226]) by mx.google.com with ESMTPS id u1sm17656007uge.27.2008.09.12.04.49.42 (version=SSLv3 cipher=RC4-MD5); Fri, 12 Sep 2008 04:49:42 -0700 (PDT) Content-Type: text/plain; format=flowed; delsp=yes; charset=iso-8859-1 MIME-Version: 1.0 References: <8D5403E89293A448A409DDDD1531CE1801951A53@defrm202.emea.corp.eds.com> Content-Transfer-Encoding: 7bit User-Agent: Opera Mail/9.52 (MacPPC) X-Spam-Whitelist: Message-ID: Date: Fri, 12 Sep 2008 13:49:41 +0200 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: def:NNn --- was tlp type To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <8D5403E89293A448A409DDDD1531CE1801951A53@defrm202.emea.corp.eds.com> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-ProteoSys-SPAM-Score: -2.599 () BAYES_00 X-Scanned-By: MIMEDefang 2.64 on 213.139.130.197 Return-Path: owner-latex-l@LISTSERV.UNI-HEIDELBERG.DE X-OriginalArrivalTime: 12 Sep 2008 11:57:08.0869 (UTC) FILETIME=[AF015B50:01C914CE] Status: R X-Status: X-Keywords: X-UID: 5300 On Tue, 09 Sep 2008 18:04:48 +0200, Mittelbach, Frank wrote: > my take is that the recent addition of \def:NNn and firends was already > a mistake and should be reverted. These functions provide something > which at the expl3 level isn't really needed. What is gained from having > the alternative between > > \def:Npn #1#2#3 {...} > > and > > \def:NNn 3 {...} > > the former is much more general (and on expl3 level that generality is > sometimes needed), I would claim it is easier to read as the # signs > stand out better than a simple "3". The primary reason these were added was for template, xparse, l3messages (I think) and others definining functions with a #1#2#3... preamble but where the number of arguments is either specified directly as a number (template) or calculated (xparse). template used \newcommand internally while xparse built its parameter specification manually. I always saw the p specifier somehow connected to w. The mapping certainly goes one way: If you need a function with w specifier, then a primitive TeX parameter specification is called for. The other way can be argued. In most cases however, what you want is a specific number of arguments and I was trying to work in that direction. Also, this was a way to provide for a better (well, at least different) error message than what TeX states. -- Morten