This page is part of the web mail archives of SRFI 68 from before July 7th, 2015. The new archives for SRFI 68 contain all messages, not just those from before July 7th, 2015.
While I understand the utility of input streams and the rationale for having a separate input port abstraction on top of them, I just noticed that I can't find any rationale described in the document for why there are separate output stream & output port facilities, which are both imperative; indeed, the reference implementation of output ports is absolutely nothing more than a few extremely thin wrappers over output streams, not even with the added functionality of acting like a cell or anything as with input streams & input ports. Is there a good reason for having both output streams & output ports? Was the distinction perhaps a vestigial one from SML's I/O system (which I haven't investigated thoroughly)?