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

output streams vs output ports



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)?