Re: 251 vs. 245 Sergei Egorov (01 Dec 2023 23:43 UTC)
Re: 251 vs. 245 Per Bothner (02 Dec 2023 01:54 UTC)
Re: Re: 251 vs. 245 Sergei Egorov (02 Dec 2023 02:23 UTC)
Re: Re: 251 vs. 245 Sergei Egorov (02 Dec 2023 02:28 UTC)
Re: 251 vs. 245 Per Bothner (02 Dec 2023 06:11 UTC)
Re: Re: 251 vs. 245 Sergei Egorov (02 Dec 2023 07:12 UTC)
Re: 251 vs. 245 Daphne Preston-Kendal (02 Dec 2023 09:54 UTC)
Re: 251 vs. 245 Vladimir Nikishkin (02 Dec 2023 12:30 UTC)
Re: 251 vs. 245 Marc Nieper-Wißkirchen (02 Dec 2023 12:33 UTC)
Re : Re: 251 vs. 245 Amirouche (04 Dec 2023 08:36 UTC)
Re: Re : Re: 251 vs. 245 Marc Nieper-Wißkirchen (04 Dec 2023 08:42 UTC)
Re : Re: Re : Re: 251 vs. 245 Amirouche (04 Dec 2023 09:27 UTC)
Re: 251 vs. 245 Daphne Preston-Kendal (04 Dec 2023 09:57 UTC)
Re: Re : Re: 251 vs. 245 Vladimir Nikishkin (04 Dec 2023 09:50 UTC)
Re: 251 vs. 245 Daphne Preston-Kendal (04 Dec 2023 10:24 UTC)
Re: 251 vs. 245 Marc Nieper-Wißkirchen (04 Dec 2023 10:48 UTC)
Re: 251 vs. 245 Daphne Preston-Kendal (04 Dec 2023 11:03 UTC)
Re: 251 vs. 245 Lassi Kortela (04 Dec 2023 11:24 UTC)
Re: 251 vs. 245 Sergei Egorov (04 Dec 2023 11:33 UTC)
Re: 251 vs. 245 Marc Nieper-Wißkirchen (04 Dec 2023 12:07 UTC)
Re: 251 vs. 245 Sergei Egorov (04 Dec 2023 12:44 UTC)
Re: 251 vs. 245 Marc Nieper-Wißkirchen (04 Dec 2023 12:52 UTC)
Re: Re : Re: 251 vs. 245 Amirouche (04 Dec 2023 21:59 UTC)

Re: Re : Re: 251 vs. 245 Vladimir Nikishkin 04 Dec 2023 09:50 UTC

Apologies for not responding at once. I tried to write down an obvious
(seemingly) example of why 251 would be better than 245, but when I
invested some more time into it, it became less obvious.

In fact, while the benefit of running some type checks and debugging
printing at the beginning of the function is unquestionable, I am not
even sure that letrec* is the correct model for the following
definitions. Maybe lectrec (without a *) would be a better choice.

I need to think more about it, I am sorry.

In any case, I certainly don't like something like this:

(let ((x 0)
 (define (set-x!) (set! x 1))
(long-long-long function)
(long-long-long function)
(long-long-long function)
(long-long-long function)
(long-long-long function)
(long-long-long function)
(long-long-long function)
(long-long-long function)
(long-long-long function)
(long-long-long function)
(long-long-long function)
(long-long-long function)
(long-long-long function)
(long-long-long function)
(long-long-long function)
(long-long-long function)
(define x 1))

where set-x! would be mutating the bottom x if the bottom define is
present, or the top one if it is not.
Yeah, don't write code this badly, but "don't do something" is a bad
advice in programming.

On Mon, 4 Dec 2023 at 16:42, Marc Nieper-Wißkirchen
<xxxxxx@gmail.com> wrote:
>
> Am Mo., 4. Dez. 2023 um 09:36 Uhr schrieb Amirouche <xxxxxx@hyper.dev>:
>>
>>
>>
>>
>>
>> Le sam. 2 déc. 2023 à 13:29, Vladimir Nikishkin <xxxxxx@gmail.com> a écrit :
>>
>> I do think that the srfi 251 semantic is more consistent with the
>> Scheme spirit, in the sense of the definitions being "simultaneous".
>>
>> Same here.
>
>
> Are you then able to explain what this is supposed to mean?
>
>
>>
>> In fact, I was very surprised to see 245 being proposed.
>>
>> On Sat, 2 Dec 2023 at 17:54, Daphne Preston-Kendal <xxxxxx@nonceword.org> wrote:
>> >
>> > On 2 Dec 2023, at 02:54, Per Bothner <xxxxxx@bothner.com> wrote:
>> >
>> > > Also consider:
>> > >
>> > > (let ((x 10))
>> > > (display "the result is: ")
>> > > (display x)
>> > > (define x 42))
>> > > (newline))
>> > >
>> > > I believe the result here should be undefined - but *not* 10.
>> >
>> > Indeed, this is An Error in SRFI 245.
>> >
>> >
>> > Daphne
>> >
>>
>>
>> --
>> Yours sincerely, Vladimir Nikishkin
>> (Sent from GMail web interface.)

--
Yours sincerely, Vladimir Nikishkin
(Sent from GMail web interface.)