[Haskell-cafe] Correction: subclasses and classes with same type in instance
Daniel Fischer
daniel.is.fischer at googlemail.com
Sun Oct 16 20:35:07 CEST 2011
On Sunday 16 October 2011, 20:03:02, Patrick Browne wrote:
> Hi,
> Does the subclass relation have any meaning when two classes
> have instances with the same type?
> I get the same results from Listing 1 and Listing 2 below.
> Regards,
> Pat
The only effect of a superclass constraint is that you can't make a type an
instance of the subclass without a superclass instance for the type in
scope.
Usually, a superclass constraint means there is a connection between the
methods of both classes (like for Eq/Ord), and then it is expected that the
instances respect that connection, but the compiler can't enforce that.
In your example, the only difference is that with the superclass constraint
foo :: House h => h -> Integer
foo h = addressB h + addressH h
works, while without superclass constraint, foo would need both classes in
its context.
More information about the Haskell-Cafe
mailing list