[Haskell-cafe] Re: checking types with type families
simonpj at microsoft.com
Wed Jul 7 17:14:32 EDT 2010
| >> -- Does this typecheck?
| >> f :: C a b => T a -> Bool
| >> f T1 = True
| >> f T2 = op 3
| >> The function f "should" typecheck because inside the T2 branch we know
| >> that (a~Int), and hence by the fundep (b~Bool).
| Perhaps I'm confused, but there seems to be no link between
| the call 'op 3' and 'a' in this example. While the 'desugaring'
| introduces just such a connection.
You're right, I made a mistake here. Sorry! I hope you could see what I was after though. I've written a long email about fundeps and overlap that should clarify further.
More information about the Haskell-Cafe