Re: Singular Type Constructor

At 2001-08-12 11:26, Levent Erkok wrote:
How about using overlapping instances? Add:
instance Eq a where _ == _ = True
to your program: if there isn't a ``better'' instance, it'll use this one. Such an instance declaration is inherently dangerous to have around, but might help your particular situation.
How do Hugs and GHC calculate "better" instances in this case? I make a distinction between "appears to overlap" and "actually overlaps": the first is what the compilers detect: I only switch off this checking if I have instances that "appear to" overlap but don't "actually" overlap e.g.: -- instance MyClass Bool instance (Num a) => MyClass a -- ...which don't "actually" overlap provided I don't have "instance Num Bool" anywhere. Patching GHC so that it detects instances that "actually" overlap instead of "appear to" overlap is left as an exercise for the reader... -- Ashley Yakeley, Seattle WA
participants (1)
-
Ashley Yakeley