willc@tekchips.tek.COM (12/02/87)
>Could the responsible parties please answer these questions, and post >the questions and answers to the scheme mailing list? Thanks. >-Jonathan Maybe that should be "irresponsible parties". I guess someone has to take the rap, so here are my excuses. 1) The report mentions two procedures (close-input-port <port>) and (close-output-port <port>). I don't see why it is necessary to have two procedures to close ports. Wouldn't it be sufficient to have something like "close-port" that can be applied to both types of ports? Yes, and I would not be surprised if most Scheme implementations do it that way internally. OPEN-INPUT-FILE and OPEN-OUTPUT-FILE need to be distinct, and I guess it seemed more symmetric for them to have distinct "inverses". 2) What is the exact difference between (write-char <char>) and (display <char>)? "write-char" seems to be redundant. Is "display" supposed to terminate its output by a space or newline or something like this? Chris Hanson noted the historical fact that DISPLAY originally acted like WRITE on characters, so WRITE-CHAR was once necessary for that reason. He noted also that DISPLAY, being generic, is likely to be much less efficient than WRITE-CHAR. Kent Dybvig pointed out that characters are not guaranteed to be distinct from other data types, say small integers or strings of one character, so WRITE-CHAR is the only portable way you can write a character itself as opposed to some representation of the character. Thus WRITE-CHAR remains necessary. Peace, William Clinger