[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.
Showing
- ghc/compiler/parser/RdrHsSyn.lhs 3 additions, 0 deletionsghc/compiler/parser/RdrHsSyn.lhs
- ghc/compiler/rename/RnSource.lhs 19 additions, 31 deletionsghc/compiler/rename/RnSource.lhs
- ghc/compiler/typecheck/Inst.lhs 38 additions, 18 deletionsghc/compiler/typecheck/Inst.lhs
- ghc/compiler/typecheck/TcBinds.lhs 2 additions, 1 deletionghc/compiler/typecheck/TcBinds.lhs
- ghc/compiler/typecheck/TcMonoType.lhs 15 additions, 9 deletionsghc/compiler/typecheck/TcMonoType.lhs
- ghc/compiler/typecheck/TcSimplify.lhs 23 additions, 27 deletionsghc/compiler/typecheck/TcSimplify.lhs
Loading
Please register or sign in to comment