On Sunday 16 October 2011, 21:50:13, Patrick Browne wrote:
> In the current example does the following totally or partially ignore
> the type class system.
> boo :: Shed -> Integer
> boo h = addressB h + addressH h

It doesn't ignore the type class system at all.
It's a monomorphic function using methods from the classes Building and 
House, so it just has to verify that Shed is an instance of both classes.
Without the superclass constraint on House, it's two unrelated lookups, 
with the superclass constraint, the compiler can choose to lookup both 
separately, or it could first determine that due to the superclass 
constraint, it needs only look up the House instance.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to