This commit doesn't appear complete -- TcUnify.uDoneVar uses the TcMType.LookupTyVarResult.DoneVar constructor, which TcMType.LookupTyVarResult doesn't define.
--sigbjorn
----- Original Message ----- From: "Simon Peyton Jones" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, March 01, 2005 13:41
Subject: cvs commit: fptools/ghc/compiler/typecheck TcBinds.lhs TcMType.lhs TcPat.lhs TcRnTypes.lhs TcType.lhs TcUnify.lhs
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
_______________________________________________ Cvs-ghc mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/cvs-ghc
