[plt-scheme] to define, or to let

From: Felix Klock's PLT scheme proxy (pltscheme at pnkfx.org)
Date: Sun Mar 21 00:47:11 EST 2004

On Mar 21, 2004, at 12:30 AM, Bradd W. Szonye wrote:

>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> Eli Barzilay wrote:
>>>> But using letrec is not dangerous too.
> Bradd wrote:
>>> Relying on evaluation order in letrec most certainly is dangerous.
>> Again, in *MzSchem*, relying on evaluation order is *not* dangerous.
>> It is specified in the manual -- search for "evaluation order" and you
>> will get there.
> Speaking of context, look back to the original question, which asked
> about the "spirit of Scheme." Also note that the second paragraph in 
> the
> MzScheme manual states, "MzScheme ... is R5RS-compliant," and R5RS
> clearly warns users *not* to rely on evaluation order in letrec.
> Doing that is very clearly not in the spirit of Scheme.

May I propose the following compromise:

The MzScheme extension to the semantics of LETREC is technically legal 
according to R5RS; therefore Eli is completely justified in writing 
such expressions when programming for PLT Scheme (after all, he has 
stated that he deliberately chooses not to target all R5RS-Scheme's, 
but rather just PLT Scheme).

Therefore, the extension should remain as 100% legal code for the PLT 
family of languages in DrScheme (Textual, Graphical, Pretty Big, etc).

However, for the Standard (R5RS) language, DrScheme should (at least) 
print a warning for such uses of LETREC.  This way, a developer who 
wants to focus on targeting the R5RS family can be more confident that 
they are not relying on this (and other) PLT Scheme extensions to the 
standard.  One can imagine similar changes to the R5RS language to 
assist developers in writing R5RS-portable code.

So, we have a Feature Request (or Bug Report) for the R5RS language, 
but otherwise we have nothing left to discuss.

How does that sound?


I think scheme would get a lot more mindshare if they'd
change the keyword "lambda" to "lambada"

Posted on the users mailing list.