output streams vs output ports
Taylor Campbell 18 Jun 2005 00:35 UTC
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)?