Hi Andreas! Andreas Rottmann <a.rottm...@gmx.at> writes:
> l...@gnu.org (Ludovic Courtès) writes: [...] >> However, I’m wondering whether we should not just squarely do away with >> the binary/textual distinction, and just write: >> >> (define (binary-port? p) #t) >> >> What do people with experience with pure R6RS code think? Is the >> distinction actually used, and how? >> > I can only find one example in the code I wrote: > `copy-port', which works (with the probably obvious semantics), on both > binary and textual ports. On Guile, when `binary-port?' would return #t > for all ports, `copy-port' would break, losing the transcoding effect > you'd get when you pass two textual ports of different encodings. Interesting. Can you post a link to the code? Anyway, that’s probably enough to keep the current semantics in 2.0. > With the current behavior, you still have to watch the order of your > port type checks, testing for `binary-port?' first, whereas on systems > following R6RS strictly, you'd get the same behavior regardless of > type check order. I can live with the latter, but the former would be > unfortunate, IMHO. Do you know what Industria, Nausicaa, & co. do? Likewise, any idea which Schemes have disjoint binary/textual ports, and which don’t? Thanks, Ludo’.