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

Re: Issue: CLOSED-STREAM-OPERATIONS (Version 4)



[Added CL-Cleanup back.]

    Date: Thu, 1 Dec 88 23:39 EST
    From: Glenn S. Burke <gsb@ALDERAAN.SCRC.Symbolics.COM>
    Subject: Re: Issue: CLOSED-STREAM-OPERATIONS (Version 4)
    To: KMP@STONY-BROOK.SCRC.Symbolics.COM
    In-Reply-To: <881201204134.4.KMP@BOBOLINK.SCRC.Symbolics.COM>

    ... Keep in mind whatever things go on with the "aggregate" streams,
    e.g. bidirectional in particular might have semantic problems with
    open-stream-p. ...

Actually, in Masinter's approach, you have the inverse problem with
INPUT-STREAM-P. What does it return on an aggregrate output stream
when some of the streams are closed and some are not.

On the basis of this, I retract my previous suggestion that we get
involved in OPEN-STREAM-P, and instead suggest that we just say
it's an error to call INPUT-STREAM-P or OUTPUT-STREAM-P (or WRITE or ...)
on any stream which has been closed or on any aggregrate stream
for which a component stream has been closed. People won't be able to
predicate this at runtime -- they'll just have to watch their control
flow and not let one of these things get into the hands of CLOSE.
I guess that correctly sums up the status quo, so it can't be any
worse than what we've got now. And what we have now isn't that bad --
every now and then someone complains that they wish they could tell if
a stream is open, but I've generally been able to look at their code and
show them how to rewrite it so that the issue didn't come up.