Am So., 20. Juni 2021 um 20:53 Uhr schrieb Wolfgang Corcoran-Mathe <xxxxxx@sigwinch.xyz>:
On 2021-06-20 20:47 +0200, Marc Nieper-Wißkirchen wrote:
> Am So., 20. Juni 2021 um 20:42 Uhr schrieb Wolfgang Corcoran-Mathe <
> xxxxxx@sigwinch.xyz>:
>
> > PPS Unrelated to this but related to my ongoing discussion with Shiro:
> > SRFI
> > > 224 is silent with respect to multiple returns from the higher-order
> > > procedures. Given that SRFI 224's objects are purely functional, the
> > purist
> > > approach of full compatibility with call/cc makes sense (and which we
> > also
> > > have with all R7RS base procedures).
> >
> > Agreed on approach, but what changes would you suggest to make this
> > clear?
> >
>
> One can use the language from R6RS/R7RS (see, for example, 'map' or
> 'vector-map'):
>
> "If multiple returns occur from xxx, the values returned by earlier returns
> are not mutated."

This is what I was assuming.  This is just boilerplate, though.
Would it be sufficient to add a "note on multiple returns" stating
this requirement for all higher-order functions in the SRFI?  There
are quite a few.

I would say it would be sufficient.

Maybe something as follows:

"The procedures in this SRFI fully support exceptions, continuable exceptions, first-class continuations, and other forms of non-local control flow. In particular, if multiple returns occur from a higher-order procedure like 'fxmapping-unfold', the values returned by earlier returns are not mutated."