Subject: bug#40584: R7RS string-for-each does not work two or more strings on its argument

From: Mark H Weaver <[email-masked]>
Date: Fri, 17 Apr 2020 17:07:14 -0400

OKUMURA Yuki <[email-masked]> wrote:
> Actually it's my own bug but let me report here: (scheme base) lacks
> implementation for string-for-each thus following code does not work;
> 
> (import (scheme base))
> 
> (string-for-each
>   (lambda (e f) 'ok)
>   "01234"
>   "slas")
> 
> Please note that we already have incompatible string-for-each for
> SRFI-13 and R6RS.
> (It seems current (scheme base) uses SRFI-13 one)
> R7RS for-each (and map) procedures allow different length of
> collection as arguments.
> 
> Checked on 2b4e45ca1b89a942200b7b9f46060dddc44d2876

For the record, the version of R7RS 'string-for-each' that I implemented
for Guile many years ago, in the 'r7rs-wip' branch of Guile's git
repository (not to be confused with 'wip-r7rs'), does not have this bug:

  https://git.savannah.gnu.org/cgit/guile.git/tree/module/scheme/base.scm?h=r7rs-wip&id=2d76447bda2f3d61c94d80b3b78732648a0a511d#n221

I'm not sure why Andy chose not to use my work.

      Mark