On Wed, Mar 4, 2020 at 8:30 AM Lassi Kortela <xxxxxx@lassi.io> wrote:

More generally, I'm not convinced that it's the best idea to have
standard procedures to test for a single port. It's often useful to wait
for multiple things at once, and waiting for only one thing can be done
as a special case of that.

I'm not disagreeing with you here, but your argument is about the utility of u8-ready? char-ready? themselves.

Of course, if I'm writing a large program talking to character devices, network pipes, and files all at once, I will use an infrastructure better suited for polling many channels at once.   And I admit that while I have faithfully implemented {u8,char}-ready? in my own implementation and tested them, I have written no programs that make effective use of them.

If we are to honor R7RS, with u8-ready? and char-ready?  I think we are obligated to support their implementation in custom ports as well, otherwise, we are declaring those procedures deprecated and useless (which may be a valid decision).