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 o1ADNdXq026573 for ; Wed, 10 Feb 2010 14:23:40 +0100 Received: (qmail 30309 invoked by alias); 10 Feb 2010 13:23:34 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 10 Feb 2010 13:23:33 -0000 Received: from relay2.uni-heidelberg.de (EHLO relay2.uni-heidelberg.de) [129.206.210.211] by mx0.gmx.net (mx107) with SMTP; 10 Feb 2010 14:23:33 +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 o1ADLUWi032613 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 10 Feb 2010 14:21:30 +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 o1A9akC4013381; Wed, 10 Feb 2010 14:21:27 +0100 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 396543 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Wed, 10 Feb 2010 14:21:27 +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 o1ADLRxn007541 for ; Wed, 10 Feb 2010 14:21:27 +0100 Received: from ueamailgate01.uea.ac.uk (ueamailgate01.uea.ac.uk [139.222.131.184]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id o1ADLIM2020249 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 10 Feb 2010 14:21:22 +0100 Received: from ueams02.uea.ac.uk (ueams02.uea.ac.uk [139.222.131.131]) by ueamailgate01.uea.ac.uk (8.13.1/8.13.1) with ESMTP id o1ADLHcZ026820 for ; Wed, 10 Feb 2010 13:21:17 GMT Received: from [139.222.202.115] by ueams02.uea.ac.uk with esmtp (Exim 4.69) (envelope-from ) id 1NfCVJ-0006j8-1C for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Wed, 10 Feb 2010 13:21:17 +0000 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.1.7) Gecko/20100111 Thunderbird/3.0.1 MIME-Version: 1.0 References: <4B727378.8060704@morningstar2.co.uk> <4B729944.5050308@residenset.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Canit-CHI2: 0.01 X-Bayes-Prob: 0.0001 (Score 0, tokens from: @@RPTN, outgoing) X-CanItPRO-Stream: UEA:outgoing (inherits from UEA:default,base:default) X-Canit-Stats-ID: 42307045 - 8edb6eacc0e0 X-Scanned-By: MIMEDefang 2.63 on 85.214.41.38 X-Scanned-By: CanIt (www . roaringpenguin . com) on 139.222.131.184 Message-ID: <4B72B2D2.10208@morningstar2.co.uk> Date: Wed, 10 Feb 2010 13:21:22 +0000 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Joseph Wright Subject: Re: String module To: LATEX-L@listserv.uni-heidelberg.de In-Reply-To: <4B729944.5050308@residenset.net> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=5D7Q89H36p77e5KAPs1l6v/Sb97LojnDtMgfETrECMLUO9erHzOJe+OynZRhvlGqvET/J 3dm2vHWnQHIuidpgLhS+P7NNYz+zyHLMY9yCwE++kMWpn0hIfcV3n8STYQjiBNEv//iokn+zIYdI NZYDQ==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: 6233 Hello Lars, > Indeed, there are several possible interpretations: > (1) Sequences of character tokens > (2) Sequences of character tokens with normalised catcodes > (3) Sequences of characters from some alphabet (possibly large), > representation not necessarily native > (4) Sequences of LICRs. > > Which you want to use depends on what is being targeted, i.e., what > strings are going to be used for. \write, \special, and \csname are > probably the main consumers, and since these want (1), that's probably > the main thing to support. That to me is not what I was aiming at. I'm thinking about more "user level" strings. For things like \csname you detokenize as part of forming the name (using \tl_to_str:n = \detokenize). The same applies to \special and \write situations: these are already covered by \tl_to_str:n. > I would suggest that core string module would primarily operate on the > (1) kind of string, possibly requiring (2) for some operations, and > providing the necessary conversion operation 1->2 (trusting the user to > apply it where necessary, rather than building it into each and every > operation just to be on the safe side). That's very much the approach of things like stringstrings, as far as I understand it. -- Joseph Wright