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.

Reply via email to