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

Reply via email to