Am Sa., 2. Dez. 2023 um 22:30 Uhr schrieb Daphne Preston-Kendal < d...@nonceword.org>:
> On 2 Dec 2023, at 22:28, Daphne Preston-Kendal <d...@nonceword.org> wrote: > > > Guile ‘fixes letrec*’ and supports the SRFI. I’m not sure what else you > want. > That Guile runs a "fixing letrec"-pass does not prove anything. The question is, what code comes out of this pass? As long as "fixing letrec*" is not adapted to SRFI 245 (if this is possible), the produced code will be suboptimal (see my linked post). Also, does Guile detect all violations of the letrec* contract? >> On 2 Dec 2023, at 21:42, Marc Nieper-Wißkirchen <marc.nie...@gmail.com> > wrote: > > > >> As the proposed change is pervasive (a "body" is ubiquitous in Scheme), > it is essential to get this right. The R6RS semantics is slightly more > conservative and restrictive, and it is better to err on the safe side. > > Moreover, the change makes nothing worse than it already was; bodies which > don’t have any expressions before definitions are just as efficient as they > were in R6RS. > That is not the point; before standardization, we have to make sure that additions can be implemented as efficiently as competing proposals (when they don't add other useful value). I don't understand the insistence on this semantic change (from R6RS), which doesn't seem to be crucial for any reasonable code but would constrain all future standards (if incorporated into R7RS-large). It is possible to move from R6RS to some extended semantics at a later date, but it would not be possible to retract the extended semantics of SRFI 245 later without invalidating code.