Fix cross-platform reproducibility Bradley Lucier (06 Mar 2023 20:45 UTC)
Fwd: Fix cross-platform reproducibility Bradley Lucier (06 Mar 2023 20:47 UTC)
Re: Fix cross-platform reproducibility Marc Nieper-Wißkirchen (07 Mar 2023 06:52 UTC)
(missing)
Re: Fix cross-platform reproducibility Marc Nieper-Wißkirchen (07 Mar 2023 17:35 UTC)
Re: Fix cross-platform reproducibility John Cowan (07 Mar 2023 10:29 UTC)
Re: Fix cross-platform reproducibility Marc Nieper-Wißkirchen (07 Mar 2023 11:46 UTC)

Re: Fix cross-platform reproducibility Marc Nieper-Wißkirchen 07 Mar 2023 11:46 UTC

Am Di., 7. März 2023 um 11:29 Uhr schrieb John Cowan <xxxxxx@ccil.org>:
>
>
>
> On Tue, Mar 7, 2023 at 1:52 AM Marc Nieper-Wißkirchen <xxxxxx@gmail.com> wrote:
>
>> This tells me that generators should have their names end with "!".
>
>
> We don't normally use "!" when there is no opposition between functional and non-functional versions.  Thus we don't for example write `read!` or `newline!`, since there is nothing you can do with a port that doesn't involve mutating it.

For ports, this is probably attributable to history.  See the naming
of arguments to, say, make-custom-textual-input-port in R6RS.  They
don't have to carry historical baggage and end in "!" if they
conceptually mutate locations.

R6RS and R7RS both speak of modification of locations when they
explain the "!" convention.

It is easy to make mistakes with generators when the order of
invocation matters, and the "!" would at least warn the programmer.