This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.

Ticket 439: Formal Comment: Bidirectional ports and port-open?

2012-10-12 04:09:02
WG1 - Core
cowan
major
alexshinn
fixed
source
closed
2012-07-02 04:10:18
defect

Formal Comment

Submitter's name: Marc Feeley Submitter's email: feeley at iro.umontreal.ca Relevant draft: r7rs draft 6

Type: defect Priority: major Relevant section of draft: 6.13.1. Ports

Summary: Bidirectional ports and port-open?

R7RS states that an implementation of Scheme may have bidirectional ports (because the input and output port types may not be disjoint). Bidirectional ports may be useful to represent operating devices such as serial ports, terminals, and network connections. On some of these ports it is useful to close the input and output sides separately (for example closing the output side of a network connection on which a request was sent, while leaving the input side open to receive the response).

For this reason, the procedure port-open? is not very informative for bidirectional ports. It would be better to separate this into two procedures so that each direction can be tested independently:

(input-port-open? port) (output-port-open? port)

owneralexshinncowan
statusnewaccepted
resolutionfixed
statusacceptedclosed