Received: from mail.proteosys.com ([213.139.130.197]) by nummer-3.proteosys with Microsoft SMTPSVC(6.0.3790.3959); Mon, 24 Aug 2009 10:04:50 +0200 Received: by mail.proteosys.com (8.14.3/8.14.3) with ESMTP id n7O84oVC008033 for ; Mon, 24 Aug 2009 10:04:50 +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 n7O80soG025511 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 24 Aug 2009 10:00:54 +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 n7NM24os019680; Mon, 24 Aug 2009 10:00:52 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 15.5) with spool id 286281 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Mon, 24 Aug 2009 10:00:52 +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 n7O80q1S000916 for ; Mon, 24 Aug 2009 10:00:52 +0200 Received: from rv-out-0708.google.com (rv-out-0708.google.com [209.85.198.240]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id n7O80mLO023545 for ; Mon, 24 Aug 2009 10:00:52 +0200 Received: by rv-out-0708.google.com with SMTP id c5so596803rvf.10 for ; Mon, 24 Aug 2009 01:00:47 -0700 (PDT) Received: by 10.140.141.21 with SMTP id o21mr1975125rvd.295.1251100847272; Mon, 24 Aug 2009 01:00:47 -0700 (PDT) Received: from ?129.127.15.244? ([129.127.15.244]) by mx.google.com with ESMTPS id f42sm21525219rvb.12.2009.08.24.01.00.41 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 24 Aug 2009 01:00:45 -0700 (PDT) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v935.3) References: <4A7921CF.5020803@morningstar2.co.uk> <4A8EC449.4040509@morningstar2.co.uk> <19088.5371.517713.176151@morse.mittelbach-online.de> X-Mailer: Apple Mail (2.935.3) X-Spam-Whitelist: Message-ID: Date: Mon, 24 Aug 2009 17:30:38 +0930 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Will Robertson Subject: Re: xparse To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <19088.5371.517713.176151@morse.mittelbach-online.de> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-ProteoSys-SPAM-Score: -6.599 () BAYES_00,RCVD_IN_DNSWL_MED X-Scanned-By: MIMEDefang 2.65 on 213.139.130.197 Return-Path: owner-latex-l@LISTSERV.UNI-HEIDELBERG.DE X-OriginalArrivalTime: 24 Aug 2009 08:04:50.0643 (UTC) FILETIME=[8E1A5A30:01CA2491] Status: R X-Status: X-Keywords: X-UID: 5993 On 23/08/2009, at 1:25 AM, Frank Mittelbach wrote: > It should therefore probably be better named xparse-2e or something > like > that. [snip] > I would expect that once we have a clearer picture of how to do the > separation > between layer -1 and layer 0 all this needs rewriting anyway > > I also hope (and expect) that once we are clear on how to write > specifications > for layer 0 properly, that other interfaces for layer -1 will be > written, both > because more than one might be needed and because we need some > trials to > settle on what we want to promote as that standard layer -1 for latex3 From these comments, I'm going to propose, tentatively, that with a change of name to xparse2e we can call this package "ready" in terms of interface and scope of application. Let's think about the package in terms of three aspects: (A) argument types (B) separation of interface/implementation (C) expandable argument processing We've discussed point A extensively and, I think, produced a very workable result. This is the core of the package that I'd like to promote for package authors now. Point B is something I think I'd like to work with more in the future, and as layers 0 and -1 start separating (see parallel thread) it may become more useful. Having said that, at this stage it's probably of little use so I don't expect much to happen with \DeclareDocumentCommandInterface at this point in time. (I sort of feel that if it's to be used, it should be pervasive -- the benefits of separating interface/implementation are diluted if only a subset of commands are defined in such a way.) Point C is something I'm a little unsure of; I do think it's nice to have available, I just wonder when it will be used in practise. (It seems more useful in 2e than in LaTeX3 given their different approaches to robust commands.) If we wanted to be really careful about things, I'd suggest dropping B and/or C from xparse2e and keeping them around in xparse(3) for future discussion. At the same time, I think it's fine to keep them there to promote discussion and experimentation straight away. Will