[plt-scheme] Re: to define, or to let

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Wed Apr 7 08:47:15 EDT 2004

It is not about incompatibilty but interpreting certain clauses
with an iron, eh, fist. For example, nothing in the report says
that a Scheme cannot evaluate left to right. Or that a Scheme
doesn't have to signal all the errors from invariant violations.
So mzscheme does such things.  -- Matthias


On Apr 6, 2004, at 11:33 PM, Bill Richter wrote:

>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>
> Matthias Felleisen wrote very interesting and explosive stuff on
> Sun, 21 Mar 2004, and I'd like to hear a lot about this:
>
>    This is an extra that brings mzscheme close to safety, a property
>    that R5RS doesn't seem to care about, yet is critical for a
>    unityped ("dynamically typed", "tagged") 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.
>
>    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.
>
> How can mzscheme become as safe as ordinary human reasoning can make
> it, by possibly departing from the standard, is this all about typing?
> I didn't follow the thread, but let me offer a comment anyway:
>
> Here's a pedagogical advantage to mzscheme being RnRS incompatible:
>
> Users could then embrace all DrScheme features, and not worry about
> compatibility.  I've been using DrScheme/PrettyBig for 1.5 years on
> some computer algebra, and I've found it very helpful.  I just started
> coding again after a long time off, so I'd forgotten everything, and
> I'm not a good programmer anyway.  Well, I found in my latest coding
> experience that I could get DrScheme to do what I wanted, and quickly.
> It was under 500 lines of code, but I debugged it fast, and it was
> helpful on a Math problem (not quite solved).  I attribute my coding
> success to various features in list.ss, like filter, memf, quicksort,
> mergesort, remove, and even simple ones, like first, second, & rest.
>
> Well, of course I could port these up myself if I used a different
> Scheme, such as Gambit (for speed).  But I'd be a better coder if I
> was using DrScheme features I *don't* know how to port, principally
> the define-struct features.  And of course there's macros, which I
> don't know a think about yet. So it'd be helpful if I knew that
> mzscheme was fundamentally incompatible with RnRS.



Posted on the users mailing list.