[project @ 2000-05-31 10:13:57 by lewie]
authorlewie <unknown>
Wed, 31 May 2000 10:13:57 +0000 (10:13 +0000)
committerlewie <unknown>
Wed, 31 May 2000 10:13:57 +0000 (10:13 +0000)
commite7f04a0da2a711266b58274a1a935d93bb034620
tree8d1ec90e4d84f5fc2b576c39bc64cd116dd826e2
parentd7fefe23ad15148686c0f2a1351d5e4dfc7e859c
[project @ 2000-05-31 10:13:57 by lewie]
Cleanup pass on functional dependencies.  Most noticeably, make it so that
signatures involving classes with functional dependencies work.  Also,
Fundeps are now properly handled by the simplifier, resolving problems
where the fundeps were sometimes being discarded too early, and sometimes
hanging around too long.  Took out the early ambiguity testing in the
renamer, because that's too early (you don't know the fundeps yet).  Now,
the ambiguity test happens in the typechecker.
Functional Dependencies should now be up to snuff with Mark's paper,
however, the derived instances and superclass extensions found in hugs
are still not in there.
It would be nice if this were merged into 4.07.  I have diffs against
the 4.07 tree in case it's too thorny working around Simon's big commit.
ghc/compiler/parser/RdrHsSyn.lhs
ghc/compiler/rename/RnSource.lhs
ghc/compiler/typecheck/Inst.lhs
ghc/compiler/typecheck/TcBinds.lhs
ghc/compiler/typecheck/TcMonoType.lhs
ghc/compiler/typecheck/TcSimplify.lhs