[project @ 2001-01-30 09:53:11 by simonpj]
authorsimonpj <unknown>
Tue, 30 Jan 2001 09:53:12 +0000 (09:53 +0000)
committersimonpj <unknown>
Tue, 30 Jan 2001 09:53:12 +0000 (09:53 +0000)
commitade2eac4257679a3ac152a39df87ce8567bd7766
tree209e51a85fe771be4e4bb9796ee75957b6a35291
parenta6863770dada4d75ec688bd47c2f45328c43b95f
[project @ 2001-01-30 09:53:11 by simonpj]
More on functional dependencies

My last commit allowed this:

instance C a b => C [a] [b] where ...

if we have

class C a b | a -> b

This commit completes the change, by making the
improvement stages improve only the 'shape' of the second
argument of C.

I also had to change the iteration in TcSimplify -- see
the comments in TcSimplify.inferLoop.
ghc/compiler/typecheck/TcMonad.lhs
ghc/compiler/typecheck/TcSimplify.lhs
ghc/compiler/types/FunDeps.lhs
ghc/compiler/types/Unify.lhs