Stefan Israelsson Tampe schreef op zo 06-02-2022 om 22:10 [+0100]: > I think you are right on this, I looked at the scheme spec and I find > no trace for using a let or not or not in the spec. > So it is an implementation detail. Now, this is important, if I want > to write portable code if cond case allows definitions > without an explicit let, it is not portable anymore!! So this is the > only cost I see with your idea. This issue can probably > be mitigated but it means that we must maintain two versions of the > conditional constructs.
Any old portable code (in particular, not assuming the proposed Guile behaviour) still has the same semantics; old portable code remains portable code. As such, we don't have to have two versions of the conditional constructs in Guile, there is no backwards incompatibility. However, there would admittedly be a slightly higher risk of writing unportable code _by accident_. FWIW, Guile already exports unportable syntax in (rnrs base): R6RS doesn't mention named let anywhere, yet Guile exports it as 'let' in (rnrs base) anyway. Greetings, Maxime.
signature.asc
Description: This is a digitally signed message part