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 o17DOZKV019624 for ; Sun, 7 Feb 2010 14:24:37 +0100 Received: (qmail 24166 invoked by alias); 7 Feb 2010 13:24:30 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 07 Feb 2010 13:24:29 -0000 Received: from relay2.uni-heidelberg.de (EHLO relay2.uni-heidelberg.de) [129.206.210.211] by mx0.gmx.net (mx028) with SMTP; 07 Feb 2010 14:24:29 +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 o17DMag2009020 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 7 Feb 2010 14:22:36 +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 o16N14Di024014; Sun, 7 Feb 2010 14:22:23 +0100 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 380171 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Sun, 7 Feb 2010 14:22:23 +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 o17DMNxw002015 for ; Sun, 7 Feb 2010 14:22:23 +0100 Received: from csep02.cliche.se (csep02.cliche.se [195.249.40.184]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id o17DMBv0028603 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 7 Feb 2010 14:22:15 +0100 Received: from hexley.local (unknown [213.21.117.168]) by csep02.cliche.se (Postfix) with ESMTP id CA28418660F for ; Sun, 7 Feb 2010 14:22:10 +0100 (CET) User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812) MIME-Version: 1.0 References: <4b6c8efc$0$6573$9b4e6d93@newsspool3.arcor-online.net> <09bdfa24-c77c-4f37-8c89-809befb28934@u41g2000yqe.googlegroups.com> <4b6cc60a$0$6581$9b4e6d93@newsspool3.arcor-online.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by listserv.uni-heidelberg.de id o17DMNxw002016 Message-ID: <4B6EBF47.8010504@residenset.net> Date: Sun, 7 Feb 2010 14:25:27 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: =?UTF-8?B?TGFycyBIZWxsc3Ryw7Zt?= Subject: Re: Newbie Question on LaTeX 3 Programming To: LATEX-L@listserv.uni-heidelberg.de In-Reply-To: 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+zyHLMY9yCwGoTDtboDaDPUTmYi5shhPJySBzZnboYr4mQK+ZF NwOSQ==V1; X-Resent-By: Forwarder X-Resent-For: rainer.schoepf@gmx.net X-Resent-To: rainer@rainer-schoepf.de X-Scanned-By: MIMEDefang 2.63 on 85.214.41.38 Status: R X-Status: X-Keywords: X-UID: 6223 Joseph Wright skrev: > On Feb 6, 1:29 am, Philipp Stephani wrote: >> - l3io is too low-level. \io_new should only check whether the control >> sequence already exists, and the allocation should be done by >> \io_open. As long as we have only 16 streams, the allocation should >> not use the plain TeX allocator, but a "heap allocator" with a list of >> free streams instead. Closing a stream should deallocate the stream >> handle. This is the normal behavior in all programming languages. On >> the contrary, the current implementation forces everybody to >> preallocate stream handles. > > I wrote l3io as we had nothing at all and I needed some functions > available: it's therefore not had too much reviewing just yet. I'm > very much learning these things (I have no formal programming > background) so I make mistakes, I'm afraid, and just went with > essentially a re-code of the latex.ltx material in this area. Your > suggestion is pretty sensible, and as long as the rest of the team > look happy with this I'd hope a re-write can be arranged. Feel free to > contribute more ideas [or even code :-)]. FWIW, fontinst maintains a pool of output streams and allocates streams from this pool. See fibasics.dtx. Lars Hellström