[r6rs-discuss] [Formal] The standard-*-port procedures should return a fresh binary port

From: John Cowan <cowan>
Date: Thu Feb 8 20:09:37 2007

---
This message is a formal comment which was submitted to formal-comment_at_r6rs.org, following the requirements described at: http://www.r6rs.org/process.html
---
Submitter: John Cowan
Email address: cowan_at_ccil.org
Issue type: Defect
Priority: Major
Component: I/O
Report version: 5.92
Summary: The standard-*-port procedures should return a fresh binary port
Currently, the procedures standard-input-port, standard-output-port,
and standard-error-port are very vague.  One does not know if one will
get a binary or a textual port, though a textual port is encouraged;
one does not know if it is safe to close the port or not.
I suggest that the definition be firmed up: the port returned must
be fresh and binary.  In this way it may be safely closed and safely
converted to a textual port without risking the usability of any
existing port.
The existing position is radically unsafe: if one closes or textualizes
the port, one may implicitly close a port in use elsewhere in the program.
If one gets a textual port and the transcoding is inappropriate to the
application, there is nothing to be done, as there is (deliberately)
no way to recover the underlying binary port.
-- 
John Cowan  <cowan_at_ccil.org>  http://www.ccil.org/~cowan
        Raffiniert ist der Herrgott, aber boshaft ist er nicht.
                --Albert Einstein
Received on Sun Feb 04 2007 - 14:30:51 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC