5 May
2001
5 May
'01
10:46 a.m.
On Sat, 5 May 2001, Jon Fairbairn wrote:
Ashley Yakeley <ashley@semantic.org> wrote
OK, I understand it a bit better now. This code does not compile: -- class X a instance X Bool instance (Num a) => X a -- Can someone explain why the two instances overlap, given that Bool is not an instance of Num?
Would it be possible for Haskell to figure out this sort of thing and not complain about it, or would that lead to nasty problems?
Think what would happen if someone had a module that did define Bool as an instance of Num and imported the class X.
Program will be rejected at point of such import (or instance declaration)? More simple example: importing two different modules with the exactly same instance declarations for some type. Anton Moscal