simonpj 2005/03/01 13:41:00 PST
Modified files:
ghc/compiler/typecheck TcBinds.lhs TcMType.lhs TcPat.lhs
TcRnTypes.lhs TcType.lhs TcUnify.lhs
Log:
Type signatures and skolem constants (again)
Merge to STABLE
This commit lays to rest the vexed question of skolem constants
and type signatures. My fix last week made type-signature variables
into ordinary meta type variables, because they can be unified
together (see Note [Signature skolems] in TcType). But that was wrong
becuase GADTs will only refine skolems.
So this commit extends TcTyVarDetails with a new constructors, SigSkolTv,
which is a skolem (like SkolemTv) but is unifiable (like MetaTv). It's
a bit of a hack, but the code came out quite nicely.
Now the GADT tests work.
Revision Changes Path
1.137 +16 -35 fptools/ghc/compiler/typecheck/TcBinds.lhs
1.66 +47 -51 fptools/ghc/compiler/typecheck/TcMType.lhs
1.109 +2 -4 fptools/ghc/compiler/typecheck/TcPat.lhs
1.53 +6 -8 fptools/ghc/compiler/typecheck/TcRnTypes.lhs
1.121 +65 -33 fptools/ghc/compiler/typecheck/TcType.lhs
1.62 +66 -60 fptools/ghc/compiler/typecheck/TcUnify.lhs
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc