[project @ 2001-08-14 06:35:56 by simonpj]
authorsimonpj <unknown>
Tue, 14 Aug 2001 06:35:58 +0000 (06:35 +0000)
committersimonpj <unknown>
Tue, 14 Aug 2001 06:35:58 +0000 (06:35 +0000)
commit2767767f7b4acf89f56d18231f143b60429631f6
tree1ddb3b9e3d5b2407eab87d4dd872779aa094b1c1
parent76d4cbb3378450af575236be994b95ffcc6da3c8
[project @ 2001-08-14 06:35:56 by simonpj]
1. Arrange that w/w records unfoldings
   And that the simplifier preserves them

2. Greatly improve structure of checking user types in the typechecker
   Main changes:
TcMType.checkValidType checks for a valid type
TcMonoType.tcHsSigType uses checkValidType
Type and class decls use TcMonoType.tcHsType (which does not
check for validity) inside the knot in TcTyClsDecls,
and then runs TcTyDecls.checkValidTyCon
or TcClassDcl.checkValidClass to check for validity
once the knot is tied
19 files changed:
ghc/compiler/rename/RnNames.lhs
ghc/compiler/rename/RnSource.lhs
ghc/compiler/typecheck/TcBinds.lhs
ghc/compiler/typecheck/TcClassDcl.lhs
ghc/compiler/typecheck/TcExpr.lhs
ghc/compiler/typecheck/TcForeign.lhs
ghc/compiler/typecheck/TcInstDcls.lhs
ghc/compiler/typecheck/TcMType.lhs
ghc/compiler/typecheck/TcMatches.lhs
ghc/compiler/typecheck/TcModule.lhs
ghc/compiler/typecheck/TcMonad.lhs
ghc/compiler/typecheck/TcMonoType.lhs
ghc/compiler/typecheck/TcPat.lhs
ghc/compiler/typecheck/TcRules.lhs
ghc/compiler/typecheck/TcTyClsDecls.lhs
ghc/compiler/typecheck/TcTyDecls.lhs
ghc/compiler/typecheck/TcType.lhs
ghc/compiler/types/PprType.lhs
ghc/compiler/types/Type.lhs