This page is part of the web mail archives of SRFI 91 from before July 7th, 2015. The new archives for SRFI 91 contain all messages, not just those from before July 7th, 2015.
Marc Feeley scripsit: > It is a pain to carry those two ports around in the code when the > program needs to communicate bidirectionally with some other entity > (another process, a user at a terminal, a socket, etc). Moreover the > separation of a conceptually bidirectional channel into distinct > ports (input and output) destroys the conceptual link that they > have. This hinders program understanding. For example, with > bidirectional ports (close-port port) will close both sides of the > bidirectional port (i.e. the link between the input and output port > is preserved). With two unidirectional ports you have to duplicate > some operations (closing ports, changing port settings, ...). I find this rationale convincing (and think it should be added to the SRFI). However, the socket API does permit closing input and output sides of the socket separately, and there are use cases for this, so it should be at least permitted though not the default. For example, when you want to send an arbitrary-length undecorated document to a server and retrieve an arbitrary-length undecorated document back, the simplest way to convey "end of document" is to close the output side, while leaving the input side open in order to receive the reply. A few unrelated editorial comments: UTF-8 byte sequences of length 5 and 6 have been deprecated for a long, long time. They should not be referred to here. The SRFI should explicitly permit implementation-dependent encodings and eol-encodings. (XML 1.1 allows CR, LF, CR/LF, NEL=U+0085, and LS=U+2028.) The SRFI should depend only on the lighter-weight SRFI 66 (Octet vectors), rather than on the heavier-weight SRFI 4. A warning is needed that non-default values of the create: file port setting may be subject to race conditions on file systems that don't provide full Posix semantics. Finally, this SRFI makes only trivial use of keyword objects, and IMHO should be respecified to use symbols to reduce its dependencies. -- John Cowan email@example.com http://ccil.org/~cowan This great college [Trinity], of this ancient university [Cambridge], has seen some strange sights. It has seen Wordsworth drunk and Porson sober. And here am I, a better poet than Porson, and a better scholar than Wordsworth, somewhere betwixt and between. --A.E. Housman