Formal comment #80 (simplification) Correct I/O Interface Inconsistencies Reported by: Michael Lenaghan Component: i/o Version: 5.91 Section: 15.3.5, 15.3.6, 15.4 Summary Correct some I/O interface inconsistencies regarding what procedures are available and where they're located. Description There appear to be some funny inconsistencies in the I/O spec. In 15.3.6 (Output ports) there's call-with-bytes-output-port and call-with-string-output-port, but in 15.3.5 (Input ports) there's no corresponding call-with-bytes-input-port and call-with-string-input-port. In 15.3.6 (Output ports) and 15.3.5 (Input ports) there's no call-with-file-output-port or call-with-file-input-port (respectively). In 15.4 (Simple I/O) there's call-with-input-file and call-with-output-file and with-input-from-file and with-output-to-file. Recommendations Add call-with-input-string and call-with-output-string and with-input-from-string and with-output-to-string to 15.4. Remove call-with-string-output-port from 15.3.6. Add call-with-bytes-input-port to 15.3.5 (or, conversely, remove call-with-bytes-output-port from 15.3.6). (An alternative would be to have all appropriate call procedures for files and strings in 15.3.5 and 15.3.6. At least make the choices consistent.) RESPONSE: The set of procedures provided is not inconsistent: we have call-with-string-output-port and call-with-bytes-output-port because each returns a useful value (the string or bytes object); for the others mentioned in the comment's first two bullet points, call-with-port suffices; the simple-io is intended to be compatible with R5RS and, well, simpler. Where the procedures are mentioned is an editorial decision. We appreciate your suggestions and will take them into consideration.