[plt-scheme] to define, or to let
On Mar 21, 2004, at 9:36 AM, Matthew Flatt wrote:
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>
> Some responses to various parts of the thread:
>
> 1. Evaluation order is a different issue from allowing access to
> previously-bound variables in the right-hand side of a `letrec'
> binding.
> The latter is a case of MzScheme ignoring "is an error" in the
> standard. I think there's only one other case like this: if an
> expression in a `begin' sequence returns multiple values, MzScheme
> always allows it (except for the last expression, where it depends on
> the dynamic context).
This is an extra that bring mzscheme close to safety, a property that
R5RS doesn't seem to care about yet is critical for a unityped
("dynamically typed", "taggeed") programming language that should play
a role over the next 50 years.
C++ is bad because its type system is unsound. (R5RS) Scheme is bad
because it isn't (as) safe (as ordinary human reasoning can make it).
Java and mzscheme show that these flaws don't have to be an integral
part of languages.
> 2. MzScheme is not actually R5RS-compliant.
Thanks for not caring about a standard that's subpar.
>
> 3. Changing MzScheme's `letrec' to match R5RS.
>
> I don't know.
Please don't. It is perfectly okay if someone wants to make the RnRS
language in DrScheme conforming to some ill-defined,
committee-regulated (non)standard. I never use that language. But keep
mzscheme clean.
I'd like to thank Matthew here for showing with mzscheme that Scheme is
a language that is worthy of some consideration. Without his efforts,
Scheme wouldn't deserve the attention that it still gets.
-- Matthias