Joseph Wright skrev:
> On Feb 6, 1:29 am, Philipp Stephani <[log in to unmask]> 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