[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Brief addition: Kahan and APL's 0/0 = 1
- From: sur-behoffski <sur_behoffski@...>
- Date: Wed, 26 Apr 2017 19:02:48 +0930
Oops, sorry to (almost) reply to myself...
Just remembered that William Kahan noted that APL had chosen that the result
of dividing 0 by 0 would be 1, but that the language designers came to regret it:
Excerpted from the start of a DDJ article (November, 1997):
DDJ: In addition to being a computer scientist, mathematician, and
educator, you're also a researcher. What are your current
WK: One of my areas of research is exception handling. My thesis is
that exceptions are not errors unless they are handled badly.
Exceptions are opportunities for extra computation.
DDJ: Modern C and C++ agree with you.
WK: An exception is an event for which any policy you choose in
advance will subsequently be found disadvantageous for somebody
who will then, for good reason, take exception to the policy.
Now, 3×6=18. That's not exceptional. Nobody's going to sue you.
But what should we do with zero division? The APL language took
the approach that 0/0=1. Years later the guys who did it
acknowledged, "If we knew then (in 1966), what we know now (1972),
we wouldn't have done it."