cvs commit: fptools/ghc/compiler/typecheck TcMonad.lhs TcSimplify.lhs
fptools/ghc/compiler/types FunDeps.lhs Unify.lhs
Simon Peyton Jones
simonpj@glass.cse.ogi.edu
Tue, 30 Jan 2001 01:53:12 -0800
simonpj 2001/01/30 01:53:12 PST
Modified files:
ghc/compiler/typecheck TcMonad.lhs TcSimplify.lhs
ghc/compiler/types FunDeps.lhs Unify.lhs
Log:
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.
Revision Changes Path
1.57 +3 -1 fptools/ghc/compiler/typecheck/TcMonad.lhs
1.66 +53 -24 fptools/ghc/compiler/typecheck/TcSimplify.lhs
1.12 +22 -10 fptools/ghc/compiler/types/FunDeps.lhs
1.12 +10 -1 fptools/ghc/compiler/types/Unify.lhs