Nate Hayes wrote:
Arnolde Neumaier wrote:
Nate Hayes wrote:
> Michel Hack wrote:
>> Arnold's scheme lumps certain conditions together that
>> Nates' distinguishes -- but I doubt ALL distinctions are made, so in
>> general operands of suspicious operations have to be inspected
>> anyway,
>> at which point full discrimination is possible.
>>
>> So if Arnold's scheme has other advantages, they should not be >>
discarded
>> because of this quibble between undefined, ill-defined and empty.
>
> Well, we don't see there are other advantages.
Those who care to look for them, see.
I am still looking... since you still have shown no advantages of
lumping
decorations for 1/0 and 1/Empty together.
The uniform appearance to the user, especially the non-expert user, makes
for ease of use, which is a very significant advantage.
My choice uniformizes the performance of evaluating f([0,0]) for f(x)=1/x
and f(x)=1+1/x, where naive users would expect the decoration
D1=neverDefined because both functions are undefined at x=0, just as
they would expect the decoration D2=possiblyDefined for f([0,1]).
A decoration D0=ill suggests a bug in the program body. Your
interpretation provides the decoration D0=ill for f([0,0]) with
f(x)=1+1/x, although no bug is present. The function _has_ to be
programmed that way (or in another way also triggering a division
by zero) if one wants to evaluate them.
Thus with your semantics, syntactically and semantically correct
programs may generate the decoration ill.
Therefore users cannot be sure that the decoration ill reflects a
programming error, but must puzzle about the details of the definition
of decorations in order to detect the cause of the apparent failure.
With my semantics, the user never needs to know anything about
decorations if they are accessed only through standard-conforming
functions of decorated intervals, and an appropriate compiler handles all
decoration dependent issues, including switching and promotion.
Thus decorations can be left to the experts and those who want to play
with them, leaving a high degree of safety for the casual user.