
"daniel radetsky" <dradetsky@gmail.com> writes:
My idea is of something like this: (iter (for x in-stream (open-file .....) close-stream t))
That's not a bad idea, but it would be nice if close-stream defaulted to true.
Why should it close the stream, especially when streams are generally created inside UNWIND-PROTECT-based macros?
That is not the case I most commonly use. Typical usage is: (iter (for x :in-stream (make-my-stream)) ...) This is shorter and more convenient than the equivalent (assuming the CLOSE-STREAM option): (with-open-stream (s (make-my-stream)) (iter (for x :in-stream s :close-stream nil) ...) And you don't even really need the CLOSE-STREAM option in this case, since all we would do is close the stream twice. (Of course, Both of these have a CLOSE inside an UNWIND-PROTECT block.) Cheers, Chris Dean