There was an error fetching the commit references. Please try again later.
[project @ 2005-03-01 21:40:40 by simonpj]
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.
Showing
- ghc/compiler/typecheck/TcBinds.lhs 16 additions, 35 deletionsghc/compiler/typecheck/TcBinds.lhs
- ghc/compiler/typecheck/TcMType.lhs 47 additions, 51 deletionsghc/compiler/typecheck/TcMType.lhs
- ghc/compiler/typecheck/TcPat.lhs 2 additions, 4 deletionsghc/compiler/typecheck/TcPat.lhs
- ghc/compiler/typecheck/TcRnTypes.lhs 6 additions, 8 deletionsghc/compiler/typecheck/TcRnTypes.lhs
- ghc/compiler/typecheck/TcType.lhs 65 additions, 33 deletionsghc/compiler/typecheck/TcType.lhs
- ghc/compiler/typecheck/TcUnify.lhs 68 additions, 62 deletionsghc/compiler/typecheck/TcUnify.lhs
Loading
Please register or sign in to comment