[plt-scheme] to define, or to let

From: Robby Findler (robby at cs.uchicago.edu)
Date: Sat Mar 20 23:01:14 EST 2004

At Sat, 20 Mar 2004 19:49:16 -0800, "Bradd W. Szonye" wrote:
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> Bradd wrote:
> >> Which is why it's dangerous and non-portable to rely on the
> >> initialization order.
> Eli Barzilay wrote:
> > As well as relying on argument evaluation order, hash-tables,
> > parameters, threads, custodians, various syntactic extensions,
> > modules, syntax-case, actually everything in the sytax system beyond
> > syntax-rules, any form of GUI, custodians, weak pointers, structures,
> > exceptions, escape continuations, semaphores, regular expressions,
> > channels, security guards, namespaces, external processes, etc.
> Some of those are comparable; some aren't. PLT's letrec behavior is what
> C/C++ standards gurus call a "quiet change." If you switch to a Scheme
> that doesn't support threads, it's obvious pretty quickly; you
> immediately know that you need to find some kind of replacement
> behavior. Quiet changes are different; you don't realize that there's a
> problem until your program starts acting goofy in ways that are
> difficult to track down.

IMO, the standard has let us down on this one. According to it, PLT
Scheme is an R5RS Scheme. Again, my opinion, but the fact that the
standard blesses such "quiet change"s is the true problem.


Posted on the users mailing list.