Am Mi., 24. Mai 2023 um 10:28 Uhr schrieb Alex Shinn <xxxxxx@gmail.com>:
>
> On Wed, May 24, 2023 at 2:59 PM Marc Nieper-Wißkirchen <xxxxxx@gmail.com> wrote:
>>
>> I claim that R7RS's "map" is, in fact, "map" and not "map!" (why it is
>> so I argued on Chibi's issue tracker), so no problem here as well.
>
> Although Chibi's implementation has the desired property, it is
> not guaranteed by the standard. One could imagine map in an
> implementation with cdr-coded lists not having this property.
The standard guarantees it because this is what the prose says in the
description of map and vector-map.
Apologies for the confusion! I had been looking at the R5RS info
page since that's readily available in Emacs and forgot about the
update. It's been a very long time... Similarly the prose was updated
for vector-map but does not match SRFI 133.
However, the "!" convention description is unmodified from R5RS,
which doesn't apply that rule the way you suggest (R5RS map
had no such guarantee).
More generally, it seems the community has largely agreed with
the R5RS convention and my interpretation and only used "!" for
explicit mutation of inputs (modulo linear update). The large
language already includes procedures which don't give this
guarantee and yet don't have "!" in their name (e.g. hash-table-map
from (scheme hash-table)). I think it's too late to change this
convention.