Re: New draft (#2) and last call for comments on SRFI 245: Mixing definitions and expressions within bodies Daphne Preston-Kendal (02 Dec 2023 21:28 UTC)

Re: New draft (#2) and last call for comments on SRFI 245: Mixing definitions and expressions within bodies Daphne Preston-Kendal 02 Dec 2023 21:28 UTC

Guile ‘fixes letrec*’ and supports the SRFI. I’m not sure what else you want.

Daphne

> On 2 Dec 2023, at 21:42, Marc Nieper-Wißkirchen <xxxxxx@gmail.com> wrote:
>
> This email of mine hasn't been addressed yet unless I am mistaken: https://srfi-email.schemers.org/srfi-245/msg/23377654/
>
> As this SRFI is lacking a sample implementation, I would like to see proof that it can be implemented as efficiently as the current body semantics.  Maybe the proof is easy, and I just don't see it.  Alternatively, the proof is hard, but then it is even more critical that we have one.  Such proof should also show the feasibility of adding an efficient check that detects incorrect use of continuations.
>
> The SRFI claims R6RS compatibility, but the change* it makes to the R6RS program body semantics means that SRFI 245 bodies have semantics different from R6RS program bodies.  I recommend removing the change versus R6RS.  We have no example of useful code that would benefit from the twist in the semantics SRFI 245 adds.  Moreover, if SRFI 245 used R6RS semantics, we wouldn't need the proof I wrote above because we have efficient implementations of the R6RS semantics, including all checks.
>
> SRFI 245 says that I suggested the change; what I actually suggested were the R6RS program body semantics, not the variation that showed up in SRFI 245.
>
> 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.
>
> Marc
>
> --
>
> (*) Expressions followed by a definition are grouped together with the definition in SRFI 245; in R6RS, every such expression becomes its own (dummy) definition.  This is relevant when first-class continuations are used.
>
> Am Do., 30. Nov. 2023 um 06:48 Uhr schrieb Arthur A. Gleckler <xxxxxx@speechcode.com>:
> I've just published draft #2 of SRFI 245. It was submitted by Daphne Preston-Kendal, author of the SRFI.
> Here are Daphne's comments on the draft:
> One quick new draft before finalization, I hope.
> One place has been changed to reflect what R7RS small says about assignment before definition as well as use before definition. I’ve also added the support info about S7 and Kawa.
> Here is the commit summary:
>     • Remove stray boilerplate.
>     • Change formatting of the example
>     • Explicitly forbid set! before definition as well as use
>     • Add extra support information
> Here's the diff:
> https://github.com/scheme-requests-for-implementation/srfi-245/compare/draft-1..draft-2
> Daphne has asked me to announce last call for this SRFI. She believes that it is ready for finalization, but would like to give reviewers one last chance to submit corrections and feedback before we finalize it.
> In particular, I appeal to anyone reading this to try the sample implementation, run the tests, and send feedback about your results.
> If you're interested in this SRFI, please give your feedback via the SRFI 245 mailing list before 2023-12-06. After that, assuming that no major revisions are required, we will declare it final. It is important that we get your feedback before 2023-12-06. If that deadline is too soon for you, but you would like to contribute, please let me know so that I can extend the last-call period.
> Regards,
> SRFI Editor