[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Issue: STREAM-INFO (Version 4)



    Date: 24 Jun 88 12:17 PDT
    From: Masinter.pa@Xerox.COM

    While relying on implementation-specific heuristics for implementation-specific
    streams seems right to me, it seems less clear for streams that are created
    using otherwise portable mechanisms. For example, we could define that for
    string streams created , the line width is the value of *string-stream-width*
    (and encapsulated in the stream), where NIL means infinite,  and that the unit
    of width is 1 and that every character takes exactly 1 character, 

This might be useful. It should be clear that you mean string streams created
by a CL primitive and not arbitrary string streams, though, since implementations
might have other theories on other streams. Also, actually, I think it should
somehow be streams of STRING-CHAR only, since arbitrary chars may have fonting
information and it may in some cases be clear to an implementor that this portable
model is not appropriate. I'd hate to tie an implementor's hands....

    that two-way-streams and echo-streams inherit the position and width of their
    output streams,

Ok since they have a unique output stream (no ambiguity).

    that broadcast streams inherit from their first component.

Perhaps, but this I'm less sure of and might be inclined to leave as
undefined.  It might, for example, make more sense for an implementation
to use the MIN of the width of the streams. Also, it might make sense
for an implementation to canonicalize the units so if stream1 were fixed
width (char=1) and stream2 were pixel-based, the merged stream might
report in pixels so even if it used stream1's information, it might not
-look- like stream1's information, so it might be misleading to say it
was.

I'm ammenable to a rewrite of this proposal per these suggestions if you
wanted to do that (and if no one else had a dissenting opinion). The
original intent (and the reason I didn't mail out the 2d proposal) was
to keep things simple. I don't want to add any hair that will make it
harder for this to pass x3j13, but things that seem reasonable to
everyone are ok by me...