[plt-scheme] to define, or to let
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?