New draft (#3) and last call for comments on SRFI 181: Custom ports Arthur A. Gleckler (16 Apr 2020 05:27 UTC)
Re: New draft (#3) and last call for comments on SRFI 181: Custom ports Marc Nieper-Wißkirchen (17 Apr 2020 13:17 UTC)
Re: New draft (#3) and last call for comments on SRFI 181: Custom ports Marc Nieper-Wißkirchen (17 Apr 2020 20:33 UTC)
Re: New draft (#3) and last call for comments on SRFI 181: Custom ports Marc Nieper-Wißkirchen (17 Apr 2020 21:34 UTC)
Re: New draft (#3) and last call for comments on SRFI 181: Custom ports Marc Nieper-Wißkirchen (20 Apr 2020 06:45 UTC)
Re: New draft (#3) and last call for comments on SRFI 181: Custom ports Marc Nieper-Wißkirchen (20 Apr 2020 15:59 UTC)
Re: New draft (#3) and last call for comments on SRFI 181: Custom ports Marc Nieper-Wißkirchen (20 Apr 2020 16:27 UTC)
Re: New draft (#3) and last call for comments on SRFI 181: Custom ports Marc Nieper-Wißkirchen (20 Apr 2020 17:25 UTC)
Re: New draft (#3) and last call for comments on SRFI 181: Custom ports Marc Nieper-Wißkirchen (21 Apr 2020 07:35 UTC)
Re: New draft (#3) and last call for comments on SRFI 181: Custom ports Marc Nieper-Wißkirchen (21 Apr 2020 07:59 UTC)
Re: New draft (#3) and last call for comments on SRFI 181: Custom ports Marc Nieper-Wißkirchen (20 Apr 2020 15:57 UTC)

Re: New draft (#3) and last call for comments on SRFI 181: Custom ports Marc Nieper-Wißkirchen 20 Apr 2020 17:24 UTC

Am Mo., 20. Apr. 2020 um 18:34 Uhr schrieb Shiro Kawai <xxxxxx@gmail.com>:

[...]

> On Mon, Apr 20, 2020 at 6:27 AM Marc Nieper-Wißkirchen <xxxxxx@nieper-wisskirchen.de> wrote:

[...]

>> Don't we only have to save the input if the C reader sees a custom>> port? Buffering of the input read so far could even become part of the
>> port and not of the reader. The reader requests a handle and the port
>> starts to buffer under this handle. A non-custom port can simply
>> ignore those reader requests.

The more I think about it, the better I like the idea to delegate this
functionality to the port, at least insofar the implementation is
concerned. Every textual input port could have an internal "read"
method (in the OOP sense), every textual output port an internal
"write" method. The user-facing `read' and `write' procedures simply
delegate to these port methods. For custom ports, they have to do a
bit more work (like saving the characters read so far), for ordinary
ports, nothing changes.

This does not solve the problem with record printers written in C, but
such writers are implementation-specific anyway so their behavior is
implementation-dependent anyway.

-- Marc