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 <marc.nie...@gmail.com> wrote: > > Am Mo., 4. Dez. 2023 um 09:36 Uhr schrieb Amirouche <amirou...@hyper.dev>: >> >> >> >> >> >> Le sam. 2 déc. 2023 à 13:29, Vladimir Nikishkin <lockyw...@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 <d...@nonceword.org> >> wrote: >> > >> > On 2 Dec 2023, at 02:54, Per Bothner <p...@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.)