Indeed.   I have a small pre-SRFI at < https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/PortOperationsCowan.md>, the first half of which is about mapping between SRFI 158 generators and accumulators and Scheme ports.

On Mon, Oct 7, 2019 at 11:05 AM Lassi Kortela <xxxxxx@lassi.io> wrote:
The port-transduce procedure doesn't seem to have anything port-specific
in the interface or implementation, though it is clearly useful with
ports. The reader can be any closure that yields some objects and then
#!eof.

The reader abstraction is almost identical to the generator abstraction
in SRFI 158 (Generators and Accumulators). The only difference is that
the reader takes a port argument whereas a generator takes no arguments.

Since current-input-port can be locally bound with 'parameterize' to
change which port one is reading from, would it make sense to turn this
into a more generic generator procedure? The R7RS standard read,
read-char, read-line and read-u8 procedures are already usable as
generators.