Original-Via: uk.ac.nsf; Thu, 16 Jan 92 22:23:30 GMT
Original-Sender: [EMAIL PROTECTED]
As Simon points out, I made such an obvious blunder in the example I gave
for the so-called omission in Section 4.3.1 that I thought everyone would
just ignore it and let me recover from my red face (but Kevin didn't
see the blunder, which helped me recover faster; thanks Kevin :-))
However, since people actually took it seriously, and since Simon asks
why I would want such declarations, I was really thinking about
various generalizations of the instance mechanism in which decidability
of type inference becomes questionable. Most such situations involve
"non-contractive" instance declarations (intuitively, such a declaration
depends, perhaps quite indirectly, on the same instance). It is possible
to show (I believe) that a notion of contractive classes captures
the useful decidable cases in a nice way. I had expected Haskell
classes to be contractive and was surprised when I thought I saw
a loophole that allowed a noncontractive case. Oh well..
Satish