Sun, 7 Feb 2010 14:25:27 +0100
text/plain; charset=UTF-8; format=flowed
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.