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

[Scheme-reports] Bidirectional ports and port-open?

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)

Scheme-reports mailing list