Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.22]) by h1439878.stratoserver.net (8.14.2/8.14.2/Debian-2build1) with SMTP id p2L1XPB2001517 for ; Mon, 21 Mar 2011 02:33:26 +0100 Received: (qmail 6745 invoked by uid 0); 21 Mar 2011 01:33:20 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: from relay2.uni-heidelberg.de ([129.206.210.211]) by mimp003 with uismtp id MdZK1g00Z4aCotM01dZKFs; Mon, 21 Mar 2011 02:33:19 +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 p2L1VQPP013338 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 21 Mar 2011 02:31:26 +0100 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 p2KNMBmj004135; Mon, 21 Mar 2011 02:31:17 +0100 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 1213901 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Mon, 21 Mar 2011 02:31:17 +0100 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id p2L1VH7q024972 for ; Mon, 21 Mar 2011 02:31:17 +0100 Received: from mail-yw0-f49.google.com (mail-yw0-f49.google.com [209.85.213.49]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id p2L1VB5E025561 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=FAIL) for ; Mon, 21 Mar 2011 02:31:16 +0100 Received: by ywa8 with SMTP id 8so3529982ywa.22 for ; Sun, 20 Mar 2011 18:31:11 -0700 (PDT) MIME-Version: 1.0 Received: by 10.150.133.10 with SMTP id g10mr3259860ybd.360.1300671071177; Sun, 20 Mar 2011 18:31:11 -0700 (PDT) Received: by 10.147.113.12 with HTTP; Sun, 20 Mar 2011 18:31:10 -0700 (PDT) References: <905C5ED0-6639-4DEB-95AC-A2FCB2C4491D@gmail.com> <935A1EA2-C971-4A3A-8DF4-6F890E0CFB32@gmail.com> <5256FD2C-CD53-4FF0-A405-5B8B2781E5EC@gmail.com> <19843.17637.935263.780194@morse.mittelbach-online.de> <19843.47932.785350.652072@morse.mittelbach-online.de> Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Whitelist: Message-ID: Date: Sun, 20 Mar 2011 21:31:10 -0400 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Bruno Le Floch Subject: Re: expl3's seq_pop_right etc. To: LATEX-L@listserv.uni-heidelberg.de In-Reply-To: <19843.47932.785350.652072@morse.mittelbach-online.de> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-GMX-Antispam: ; Detail=5D7Q89H36p6v0AUTgaMO3gSMywNLDaHlEWQqLIHRmoVw1/vsOYSzoPAMx2jU8H7Fvp24p wu4sC5Tnr0OgMVCT8ee2AwsekHNT/lVTZS4gBnqRYwLAL+h2kz8hUBmUcGKxJPRRbIecqbIz94KVaC oglFWgwDhvn/XepD2iVmoUn26OZmBlqABmMRJanGPbig0aLEsQeddSuYsaDBvXBTPEw==V2 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: 6695 > By the way, with the interfaces but back in the compatibility section shows > some failures in some files that need checking. Not really got around > checking for cause. > > xor certainly dies because some of its code misuses the seq implementation > and hacks into \seq_elt:w so not surprising this dies. For others I don't know > yet. I quickly grepped through xor, and it seems easy to change since the most complicated thing that is done with \seq_elt:w and \seq_elt_end: is \cs_set_nopar:Npn \seq_elt:w ##1\seq_elt_end: {##1,} which can be replaced by \cs_set_nopar:Npn \seq_elt:n ##1 {##1,} A more general (temporary) fix is to define \seq_elt:n as \cs_set:Npn \seq_elt:n #1 {\seq_elt:w #1 \seq_elt_end:} instead of \ERROR\use_none:n when it is not active. > I must say I rather like \seq_pop_left_with:Nn as a generic approach. It is > just that I don't want to drop the function that one normally needs for it. > And I rather prefer the _pop_with to _pop_do. Ok, so let it be _pop_with. > or even > \seq_get_pop_left:NN Why not \seq_get_left_pop_left:NN? ;-) I think that keeping names rather short is better. > \seq_gget_pop:NN > \seq_get_gpop:NN > \seq_gget_gpop:NN > > perhaps that's better but I'm not sure if it is not just making things > longer I would keep \seq_pop:NN and \seq_gpop:NN with a local return value, with \seq_pop_with:Nn and \seq_gpop_with:Nn for other uses. > > where the \use:n unbraces its argument. Not a very convincing use. > > No not really :-) if it is a serious use I would probably encapsulate it by > its own functions and then use those, but anyway ... > > > But Lars Madsen's examples with { \foo_func:nn {arg1} } are better. > > yes probably Another option is to keep the name \..._map_function:NN but undocumentedly allow the second argument to be braced. I'm not convinced, though. > > \clist_remove_element:Nn > > \tl_remove_all_in:Nn > > \tl_remove_in:Nn > > agreed some concistency in the naming would be in order. About the actual > names to use I'm not so sure. Must confess I wasn't aware of the tl ones at > all. The _in seems to me unnecessary and I would personally prefer > > \tl_remove_once:Nn > \tl_remove_all:Nn That seems reasonable. Regards, -- Bruno