[plt-scheme] to define, or to let

From: Joe Marshall (jrm at ccs.neu.edu)
Date: Tue Mar 23 10:45:02 EST 2004

Matthias Felleisen <matthias at ccs.neu.edu> writes:

> On Mar 23, 2004, at 9:36 AM, Joe Marshall wrote:
>
>>
>> I don't.  I want to program in a language with a well-defined meaning
>> for each *correct* program.  I don't care about the meaning of
>> incorrect programs.
>>
>
> That can't possibly be true. If it is, I will change all incorrect
> programs tomorrow (in your personal copy of mzscheme) to ignore errors
> and continue as if nothing has happened for every error they
> encounter. -- Matthias

Feel free!  I would *love* to have a Scheme system that could continue
as if nothing had happened even in the presence of the most obvious
errors.

I suspect, however, that you don't intend to provide that, but rather
you intend to remove error detection.  I certainly don't want error
detection *removed* from where it was before, and I certainly *do*
want error detection *inserted* where it can be.  An unspecified order
of evaluation does not remove error detection;  specifying a
particular order of evaluation does not insert error detection.

When MzScheme encounters an error, by default it prints an error
message and returns to the top level.  I don't care if it returns a
42, a list of 23 elements, or no values whatsoever.

In unix, programs can (and often do) terminate with a bus-error or
segmentation fault.  Suppose I redefined the library to make it
impossible to end with a bus-error by protecting bus-mapped segments.
Now I only get segmentation faults.  I think everyone will agree that
this is change in the meaning (denotation) of an incorrect program.
Do you care which OS error terminates your program?



Posted on the users mailing list.